{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Plotting Installation:\n", "\n", "The plotting package allows you to make an interactive CRN plot. Plotting requires the [Bokeh](https://docs.bokeh.org/en/latest/docs/installation.html) and [ForceAtlas2](https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0098679) libraries to be installed on your machine. Bokeh is used for plotting, ForceAtlas2 is used for graph layout. To install, type the following into the consol:\n", "\n", " conda install bokeh\n", " pip install fa2_modified\n", "\n", "Alternatively, follow the installation instructions in the links above.\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plotting Example\n", "The CRN plot has a default representation:\n", "* species are circles\n", " - orange circles are RNA species\n", " - blue circles are complexes\n", " - green circles are proteins\n", " - grey circles are DNA\n", " -there's always a purple circle that represents nothing. If your CRN doesn't have reactions that go to nothing, then it won't have any connections.\n", " \n", "* reactions are squares\n", "\n", "Click on a node (either reaction or species) and all arrows including that node will be highlighted\n", "Mouse over a node (either reaction or species) and a tooltip will tell you what it is." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Create a BioCRNpyler Model\n", "Here we model a DNA assembly with a regulated promoter in a TxTl mixture." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Species(N = 13) = {\n", "dna[mydna] (@ 10), \n", " found_key=(mech=initial concentration, partid=None, name=mydna).\n", " search_key=(mech=initial concentration, partid=mixture1, name=mydna).\n", "complex[protein[Ribo]:rna[mydna]] (@ 0), complex[protein[RNAase]:rna[mydna]] (@ 0), rna[mydna] (@ 0), protein[laci] (@ 0), complex[dna[mydna]:2x_protein[laci]] (@ 0), complex[dna[mydna]:protein[RNAP]] (@ 0), complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase]] (@ 0), complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP]] (@ 0), protein[Ribo] (@ 0), protein[RNAase] (@ 0), protein[RNAP] (@ 0), protein[GFP] (@ 0), \n", "}\n", "\n", "Reactions (12) = [\n", "0. dna[mydna]+protein[RNAP] <--> complex[dna[mydna]:protein[RNAP]]\n", " Kf=k_forward * dna_mydna * protein_RNAP\n", " Kr=k_reverse * complex_dna_mydna_protein_RNAP_\n", " k_forward=100.0\n", " found_key=(mech=None, partid=None, name=kb).\n", " search_key=(mech=transcription_mm, partid=plac_leak, name=kb).\n", " k_reverse=10.0\n", " found_key=(mech=None, partid=None, name=ku).\n", " search_key=(mech=transcription_mm, partid=plac_leak, name=ku).\n", "\n", "1. complex[dna[mydna]:protein[RNAP]] --> dna[mydna]+rna[mydna]+protein[RNAP]\n", " Kf=k_forward * complex_dna_mydna_protein_RNAP_\n", " k_forward=0.05\n", " found_key=(mech=None, partid=None, name=ktx).\n", " search_key=(mech=transcription_mm, partid=plac_leak, name=ktx).\n", "\n", "2. 2protein[laci]+dna[mydna] <--> complex[dna[mydna]:2x_protein[laci]]\n", " Kf=k_forward * protein_laci^2 * dna_mydna\n", " Kr=k_reverse * complex_dna_mydna_protein_laci_2x_\n", " k_forward=100.0\n", " found_key=(mech=None, partid=None, name=kb).\n", " search_key=(mech=one_step_cooperative_binding, partid=plac_laci, name=kb).\n", " k_reverse=10.0\n", " found_key=(mech=None, partid=None, name=ku).\n", " search_key=(mech=one_step_cooperative_binding, partid=plac_laci, name=ku).\n", "\n", "3. complex[dna[mydna]:2x_protein[laci]]+protein[RNAP] <--> complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP]]\n", " Kf=k_forward * complex_dna_mydna_protein_laci_2x_ * protein_RNAP\n", " Kr=k_reverse * complex_complex_dna_mydna_protein_laci_2x__protein_RNAP_\n", " k_forward=100.0\n", " found_key=(mech=None, partid=None, name=kb).\n", " search_key=(mech=transcription_mm, partid=plac_laci, name=kb).\n", " k_reverse=10.0\n", " found_key=(mech=None, partid=None, name=ku).\n", " search_key=(mech=transcription_mm, partid=plac_laci, name=ku).\n", "\n", "4. complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP]] --> complex[dna[mydna]:2x_protein[laci]]+rna[mydna]+protein[RNAP]\n", " Kf=k_forward * complex_complex_dna_mydna_protein_laci_2x__protein_RNAP_\n", " k_forward=0.05\n", " found_key=(mech=None, partid=None, name=ktx).\n", " search_key=(mech=transcription_mm, partid=plac_laci, name=ktx).\n", "\n", "5. rna[mydna]+protein[Ribo] <--> complex[protein[Ribo]:rna[mydna]]\n", " Kf=k_forward * rna_mydna * protein_Ribo\n", " Kr=k_reverse * complex_protein_Ribo_rna_mydna_\n", " k_forward=100.0\n", " found_key=(mech=None, partid=None, name=kb).\n", " search_key=(mech=translation_mm, partid=UTR1, name=kb).\n", " k_reverse=10.0\n", " found_key=(mech=None, partid=None, name=ku).\n", " search_key=(mech=translation_mm, partid=UTR1, name=ku).\n", "\n", "6. complex[protein[Ribo]:rna[mydna]] --> rna[mydna]+protein[GFP]+protein[Ribo]\n", " Kf=k_forward * complex_protein_Ribo_rna_mydna_\n", " k_forward=0.05\n", " found_key=(mech=None, partid=None, name=ktl).\n", " search_key=(mech=translation_mm, partid=UTR1, name=ktl).\n", "\n", "7. rna[mydna]+protein[RNAase] <--> complex[protein[RNAase]:rna[mydna]]\n", " Kf=k_forward * rna_mydna * protein_RNAase\n", " Kr=k_reverse * complex_protein_RNAase_rna_mydna_\n", " k_forward=100.0\n", " found_key=(mech=None, partid=None, name=kb).\n", " search_key=(mech=rna_degredation_mm, partid=rna_mydna, name=kb).\n", " k_reverse=10.0\n", " found_key=(mech=None, partid=None, name=ku).\n", " search_key=(mech=rna_degredation_mm, partid=rna_mydna, name=ku).\n", "\n", "8. complex[protein[RNAase]:rna[mydna]] --> protein[RNAase]\n", " Kf=k_forward * complex_protein_RNAase_rna_mydna_\n", " k_forward=0.001\n", " found_key=(mech=rna_degredation_mm, partid=None, name=kdeg).\n", " search_key=(mech=rna_degredation_mm, partid=rna_mydna, name=kdeg).\n", "\n", "9. complex[protein[Ribo]:rna[mydna]]+protein[RNAase] <--> complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase]]\n", " Kf=k_forward * complex_protein_Ribo_rna_mydna_ * protein_RNAase\n", " Kr=k_reverse * complex_complex_protein_Ribo_rna_mydna__protein_RNAase_\n", " k_forward=100.0\n", " found_key=(mech=None, partid=None, name=kb).\n", " search_key=(mech=rna_degredation_mm, partid=complex_protein_Ribo_rna_mydna_, name=kb).\n", " k_reverse=10.0\n", " found_key=(mech=None, partid=None, name=ku).\n", " search_key=(mech=rna_degredation_mm, partid=complex_protein_Ribo_rna_mydna_, name=ku).\n", "\n", "10. complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase]] --> protein[Ribo]+protein[RNAase]\n", " Kf=k_forward * complex_complex_protein_Ribo_rna_mydna__protein_RNAase_\n", " k_forward=0.001\n", " found_key=(mech=rna_degredation_mm, partid=None, name=kdeg).\n", " search_key=(mech=rna_degredation_mm, partid=complex_protein_Ribo_rna_mydna_, name=kdeg).\n", "\n", "11. rna[mydna] --> \n", " Kf=k_forward * rna_mydna\n", " k_forward=0.1\n", "\n", "]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\ayush\\Box\\Research\\bioCRNpyler\\biocrnpyler\\core\\parameter.py:507: UserWarning: parameter file contains no unit column! Please add a column named ['unit', 'units'].\n", " warn(f\"parameter file contains no {accepted_name} column! Please add a \"\n" ] } ], "source": [ "from biocrnpyler.core import Species, Reaction\n", "from biocrnpyler.components import DNAassembly, RegulatedPromoter\n", "from biocrnpyler.mixtures import TxTlExtract\n", "\n", "\n", "txtl = TxTlExtract(\"mixture1\", parameter_file = 'default_parameters.txt')\n", "dna = DNAassembly(\"mydna\",promoter=RegulatedPromoter(\"plac\",[\"laci\"]),rbs=\"UTR1\",protein=\"GFP\", initial_concentration = 10)\n", "txtl.add_component(dna)\n", "crn1 = txtl.compile_crn()\n", "crn1.add_reactions([Reaction.from_massaction([Species(\"mydna\",material_type=\"rna\")],[],k_forward=0.1)])\n", "print(crn1.pretty_print())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plotting a reaction graph\n", "First we import bokeh in order to plot an interactive graph then use the graphPlot function and the BioCRNpyler.plotting.generate_networkx_graph(crn) function to produce a graph. Mouseover the circles to see which species they identify and the squares to see reactions." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ " \n", "
\n", " \n", " Loading BokehJS ...\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const script = document.createElement(\"script\");\n node.appendChild(script);\n }\n\n /**\n * Handle when an output is cleared or removed\n */\n function handleClearOutput(event, handle) {\n function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n cell.notebook.kernel.execute(cmd_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n\n if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n // store reference to embed id on output_area\n output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n }\n if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n }\n\n function register_renderer(events, OutputArea) {\n\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n const toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[toinsert.length - 1]);\n element.append(toinsert);\n return toinsert\n }\n\n /* Handle when an output is cleared or removed */\n events.on('clear_output.CodeCell', handleClearOutput);\n events.on('delete.Cell', handleClearOutput);\n\n /* Handle when a new output is added */\n events.on('output_added.OutputArea', handleAddOutput);\n\n /**\n * Register the mime type and append_mime function with output_area\n */\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n /* Is output safe? */\n safe: true,\n /* Index of renderer in `output_area.display_order` */\n index: 0\n });\n }\n\n // register the mime type if in Jupyter Notebook environment and previously unregistered\n if (root.Jupyter !== undefined) {\n const events = require('base/js/events');\n const OutputArea = require('notebook/js/outputarea').OutputArea;\n\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n }\n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const NB_LOAD_WARNING = {'data': {'text/html':\n \"
\\n\"+\n \"

\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"

\\n\"+\n \"\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(\"c16c692b-3ed8-4607-92ff-762620d772ec\");\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.6.2.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {display_loaded(error);throw error;\n }if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(\"c16c692b-3ed8-4607-92ff-762620d772ec\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\ayush\\Box\\Research\\bioCRNpyler\\biocrnpyler\\utils\\plotting.py:166: UserWarning: Node keys in 'layout_function' don't match node keys in the graph. These nodes may not be displayed correctly.\n", " reaction_renderer = from_networkx(DGreactions, positions, center=(0, 0))\n", "C:\\Users\\ayush\\Box\\Research\\bioCRNpyler\\biocrnpyler\\utils\\plotting.py:167: UserWarning: Node keys in 'layout_function' don't match node keys in the graph. These nodes may not be displayed correctly.\n", " species_renderer = from_networkx(DGspecies, positions, center=(0, 0))\n" ] }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"f4c83db7-d62d-42ca-8c84-acf11938c9a1\":{\"version\":\"3.6.2\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Plot\",\"id\":\"p1003\",\"attributes\":{\"width\":500,\"height\":500,\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1068\",\"attributes\":{\"start\":-88.13732010871833,\"end\":177.36125955138357}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1069\",\"attributes\":{\"start\":-186.76715988393607,\"end\":78.73141977616581}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1006\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1007\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1008\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1046\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1063\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,[159.0398647975716,-47.35426515636819]],[1,[41.42236568289106,-23.650267953588656]],[2,[-69.45254379331404,20.679342511111322]],[3,[-40.66787982659383,13.600259577780978]],[4,[26.42202060504062,-12.498970201896059]],[5,[-60.25437662892129,1.725892532721727]],[6,[23.429964880877026,-35.5311288523278]],[7,[32.4536763086446,4.32172439166242]],[8,[44.895306465341775,-4.822075540572852]],[9,[63.093613349785684,-16.990752751678002]],[10,[44.957922479857515,-154.5810541784932]],[11,[-55.24446065584604,31.886775087043457]],[12,[-38.70670815622145,-11.07632148749082]],[13,[-29.952919520214394,33.59309396466658]],[14,[28.618769295737412,-25.39661698709083]],[15,[19.252603820961674,-45.163117319692354]],[16,[33.60279960704143,-2.1906067468707375]],[17,[50.368317905974784,-15.081203859351488]],[18,[73.90033923353042,-18.910651063727126]],[19,[-63.625523460351076,18.621324071018318]],[20,[-60.135304083282286,46.545314070722924]],[21,[-44.947024193615526,-0.5929719874443006]],[22,[-34.64301054244538,-17.313030867655414]],[23,[-40.337824118988216,26.163885948113162]],[24,[-22.12851002532624,39.29281897630613]],[25,[-69.81592535490637,-4.88856097772736]]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1051\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1048\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1049\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1050\"},\"data\":{\"type\":\"map\",\"entries\":[[\"species\",[\"nothing\",\"protein_RNAP\",\"protein_Ribo\",\"protein_RNAase\",\"dna_mydna\",\"rna_mydna\",\"complex_dna_mydna_protein_RNAP_\",\"protein_laci\",\"complex_dna_mydna_protein_laci_2x_\",\"complex_complex_dna_mydna_protein_laci_2x__protein_RNAP_\",\"protein_GFP\",\"complex_protein_Ribo_rna_mydna_\",\"complex_protein_RNAase_rna_mydna_\",\"complex_complex_protein_Ribo_rna_mydna__protein_RNAase_\",\"dna[mydna]+protein[RNAP] <--> complex[dna[mydna]:protein[RNAP]]\",\"complex[dna[mydna]:protein[RNAP]] --> dna[mydna]+rna[mydna]+protein[RNAP]\",\"2protein[laci]+dna[mydna] <--> complex[dna[mydna]:2x_protein[laci]]\",\"complex[dna[mydna]:2x_protein[laci]]+protein[RNAP] <--> complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP]]\",\"complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP]] --> complex[dna[mydna]:2x_protein[laci]]+rna[mydna]+protein[RNAP]\",\"rna[mydna]+protein[Ribo] <--> complex[protein[Ribo]:rna[mydna]]\",\"complex[protein[Ribo]:rna[mydna]] --> rna[mydna]+protein[GFP]+protein[Ribo]\",\"rna[mydna]+protein[RNAase] <--> complex[protein[RNAase]:rna[mydna]]\",\"complex[protein[RNAase]:rna[mydna]] --> protein[RNAase]\",\"complex[protein[Ribo]:rna[mydna]]+protein[RNAase] <--> complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase]]\",\"complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase]] --> protein[Ribo]+protein[RNAase]\",\"rna[mydna] --> \"]],[\"k_r\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"10.0\",\"None\",\"10.0\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"None\",\"None\"]],[\"image\",[\"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\",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]],[\"k\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"100.0\",\"0.05\",\"100.0\",\"100.0\",\"0.05\",\"100.0\",\"0.05\",\"100.0\",\"0.001\",\"100.0\",\"0.001\",\"0.1\"]],[\"color\",[\"purple\",\"green\",\"green\",\"green\",\"grey\",\"orange\",\"cyan\",\"green\",\"cyan\",\"cyan\",\"green\",\"cyan\",\"cyan\",\"cyan\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\"]],[\"type\",[\"nothing\",\"protein\",\"protein\",\"protein\",\"dna\",\"rna\",\"complex\",\"protein\",\"complex\",\"complex\",\"protein\",\"complex\",\"complex\",\"complex\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"]],[\"index\",[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1052\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1053\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1064\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":12},\"line_alpha\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"field\",\"field\":\"color\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1058\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1055\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1056\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1057\"},\"data\":{\"type\":\"map\",\"entries\":[[\"color\",[\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\"]],[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[1,1,2,3,3,4,4,5,5,5,6,6,7,8,8,9,9,11,11,11,12,12,13,13,14,14,14,15,15,15,16,16,16,17,17,17,18,18,18,19,19,19,20,20,20,21,21,21,22,23,23,23,24,24,25]],[\"end\",[14,17,19,21,23,14,16,19,21,25,14,15,16,16,17,17,18,19,20,23,21,22,23,24,4,1,6,4,5,1,7,4,8,8,1,9,8,5,1,5,2,11,5,10,2,5,3,12,3,11,3,13,2,3,0]],[\"xs\",[[41.42236568289106,32.086660230500975,32.57131188986632,28.618769295737412,33.24703140749138,32.086660230500975],[41.42236568289106,47.84077492696187,48.970622264785014,50.368317905974784,45.51196660721547,47.84077492696187],[-69.45254379331404,-66.92573660522359,-68.54104053494349,-63.625523460351076,-66.87591616108132,-66.92573660522359],[-40.66787982659383,-43.93672094849818,-46.09067871720656,-44.947024193615526,-41.303517453460266,-43.93672094849818],[-40.66787982659383,-40.42973998141473,-37.95240275053548,-40.337824118988216,-42.95067826421842,-40.42973998141473],[26.42202060504062,28.031106420567863,25.42721652609854,28.618769295737412,30.356233554639616,28.031106420567863],[26.42202060504062,31.6022450145302,33.17910880529504,33.60279960704143,29.076401555152533,31.6022450145302],[-60.25437662892129,-62.94066794319226,-60.32656150090948,-63.625523460351076,-65.22990748898849,-62.94066794319226],[-60.25437662892129,-48.407542898935844,-49.602751143451634,-44.947024193615526,-48.853860412575514,-48.407542898935844],[-60.25437662892129,-66.93753713899173,-67.67712987632778,-69.81592535490637,-64.83255707081109,-66.93753713899173],[23.429964880877026,27.023701313317236,28.870674858986387,28.618769295737412,24.420094036662544,27.023701313317236],[23.429964880877026,20.645211951919723,18.68192460953,19.252603820961674,23.269094515040308,20.645211951919723],[32.4536763086446,32.99460822491949,30.38839179323749,33.60279960704143,35.31232402861575,32.99460822491949],[44.895306465341775,37.011474107940515,38.38730930168866,33.60279960704143,37.25257194385377,37.011474107940515],[44.895306465341775,48.72091311816916,46.124432514505955,50.368317905974784,50.53593359299851,48.72091311816916],[63.093613349785684,53.82956502624967,55.02149517779125,50.368317905974784,54.27950616254055,53.82956502624967],[63.093613349785684,70.45429918375054,69.19967346263407,73.90033923353042,70.07426721708971,70.45429918375054],[-55.24446065584604,-61.756088281576886,-63.42621207255506,-63.625523460351076,-59.1991824037278,-61.756088281576886],[-55.24446065584604,-59.027556263063126,-56.39333978411847,-60.135304083282286,-61.13630337302717,-59.027556263063126],[-55.24446065584604,-43.605299324336045,-45.276300915688154,-40.337824118988216,-43.48425170533683,-43.605299324336045],[-38.70670815622145,-43.15678258880759,-40.58396284795961,-44.947024193615526,-44.880386371627154,-43.15678258880759],[-38.70670815622145,-36.553719938215636,-39.1014985690354,-34.64301054244538,-34.91230216153152,-36.553719938215636],[-29.952919520214394,-37.491238150410936,-38.27066284096991,-40.337824118988216,-35.36151178888007,-37.491238150410936],[-29.952919520214394,-24.957495411326484,-24.15648127938784,-22.12851002532624,-27.100462231867894,-24.957495411326484],[28.618769295737412,27.009683480210168,29.61357337467949,26.42202060504062,24.684556346138415,27.009683480210168],[28.618769295737412,37.9544747481275,37.46982308876215,41.42236568289106,36.7941035711371,37.9544747481275],[28.618769295737412,25.025032863297202,23.17805931762805,23.429964880877026,27.628640139951894,25.025032863297202],[19.252603820961674,25.671671143012297,27.935576681344006,26.42202060504062,23.051831112072904,25.671671143012297],[19.252603820961674,-57.23960057610679,-55.25459042748682,-60.25437662892129,-57.79452669190338,-57.23960057610679],[19.252603820961674,38.910558046429564,40.05579553091512,41.42236568289106,36.5738237703087,38.910558046429564],[33.60279960704143,33.06186769076655,35.66808412244855,32.4536763086446,30.744151887070288,33.06186769076655],[33.60279960704143,28.42257519755185,26.845711406787014,26.42202060504062,30.94841865692952,28.42257519755185],[33.60279960704143,41.486631964442694,40.11079677069455,44.895306465341775,41.245534128529435,41.486631964442694],[50.368317905974784,46.5427112531474,49.139191856810605,44.895306465341775,44.72769077831805,46.5427112531474],[50.368317905974784,43.949908661903976,42.820061324080825,41.42236568289106,46.278716981650376,43.949908661903976],[50.368317905974784,59.6323662295108,58.44043607796922,63.093613349785684,59.18242509321992,59.6323662295108],[73.90033923353042,48.04356724291577,49.882555102404766,44.895306465341775,47.69798300289945,48.04356724291577],[73.90033923353042,-56.79506544345495,-55.59449356530427,-60.25437662892129,-56.35468436051113,-56.79506544345495],[73.90033923353042,44.885681676335146,45.346098707631086,41.42236568289106,46.06811732002394,44.885681676335146],[-63.625523460351076,-60.93923214608011,-63.55333858836289,-60.25437662892129,-58.64999260028389,-60.93923214608011],[-63.625523460351076,-66.15233064844152,-64.53702671872162,-69.45254379331404,-66.20215109258379,-66.15233064844152],[-63.625523460351076,-57.11389583462023,-55.443772043642056,-55.24446065584604,-59.67080171246932,-57.11389583462023],[-60.135304083282286,-60.24507815016615,-62.74286392225611,-60.25437662892129,-57.74288156753361,-60.24507815016615],[-60.135304083282286,43.33702955751993,40.73683848367381,44.957922479857515,45.168336625873366,43.33702955751993],[-60.135304083282286,-68.26640695961291,-70.33713942551194,-69.45254379331404,-65.63302064583154,-68.26640695961291],[-44.947024193615526,-56.79385792360097,-55.598649679085185,-60.25437662892129,-56.347540409961304,-56.79385792360097],[-44.947024193615526,-41.67818307171118,-39.5242253030028,-40.66787982659383,-44.31138656674909,-41.67818307171118],[-44.947024193615526,-40.49694976102939,-43.06976950187737,-38.70670815622145,-38.773345978209825,-40.49694976102939],[-34.64301054244538,-39.998342129066955,-37.38571099966305,-40.66787982659383,-42.29337249681143,-39.998342129066955],[-40.337824118988216,-51.97698545049821,-50.30598385914611,-55.24446065584604,-52.098033069497426,-51.97698545049821],[-40.337824118988216,-40.57596396416732,-43.05330119504657,-40.66787982659383,-38.05502568136363,-40.57596396416732],[-40.337824118988216,-32.799505488791674,-32.0200807982327,-29.952919520214394,-34.92923185032254,-32.799505488791674],[-22.12851002532624,-66.19542661199338,-66.33796952576162,-69.45254379331404,-64.50784314050516,-66.19542661199338],[-22.12851002532624,-38.61985135822326,-40.16141261068167,-40.66787982659383,-36.10679081026984,-38.61985135822326],[-69.81592535490637,155.59860685068256,154.3263063987195,159.0398647975716,155.2385180450494,155.59860685068256]]],[\"ys\",[[-23.650267953588656,-24.923613324753298,-22.33436176559203,-25.39661698709083,-27.288491672397114,-24.923613324753298],[-23.650267953588656,-17.50226281965017,-19.881875363901568,-15.081203859351488,-16.27109967959741,-17.50226281965017],[20.679342511111322,19.78691113272184,17.706068975763248,18.621324071018318,22.420659182723988,19.78691113272184],[13.600259577780978,2.7580408971781023,4.274476454056623,-0.5929719874443006,2.8311861038889843,2.7580408971781023],[13.600259577780978,22.665093088535105,21.769598190702517,26.163885948113162,21.90090656559753,22.665093088535105],[-12.498970201896059,-21.94630506711208,-21.54772222123785,-25.39661698709083,-20.708203828138494,-21.94630506711208],[-12.498970201896059,-5.062501821970491,-7.172623015864195,-2.1906067468707375,-4.314687883705293,-5.062501821970491],[1.725892532721727,15.188981879363016,14.864084394053691,18.621324071018318,13.885719369541093,15.188981879363016],[1.725892532721727,-0.06874847583101429,-2.4162126650756828,-0.5929719874443006,2.527385485381918,-0.06874847583101429],[1.725892532721727,-2.8973600138656783,-0.36909708243936024,-4.88856097772736,-4.481080248031713,-2.8973600138656783],[-35.5311288523278,-28.512023562717523,-30.390267313976388,-25.39661698709083,-28.111598767661853,-28.512023562717523],[-35.5311288523278,-41.952098385835136,-40.1957915565035,-45.163117319692354,-42.18523174358643,-41.952098385835136],[4.32172439166242,1.2561458178940446,1.6392212396785473,-2.1906067468707375,2.5080660712813208,1.2561458178940446],[-4.822075540572852,-2.98492289735516,-0.7385506247367828,-2.1906067468707375,-5.608085626021186,-2.98492289735516],[-4.822075540572852,-11.993153104406698,-12.437449562129935,-15.081203859351488,-10.084014150979035,-11.993153104406698],[-16.990752751678002,-15.600596170026979,-13.251465824262677,-15.081203859351488,-18.19610456751251,-15.600596170026979],[-16.990752751678002,-18.29843543560818,-20.61468783279153,-18.910651063727126,-15.691773475963133,-18.29843543560818],[31.886775087043457,21.580244839197405,23.617349988754818,18.621324071018318,20.94672830479169,21.580244839197405],[31.886775087043457,43.225239558486834,43.22903555651706,46.545314070722924,41.64653867048969,43.225239558486834],[31.886775087043457,27.418320395359085,25.381935228146514,26.163885948113162,30.049756950071977,27.418320395359085],[-11.07632148749082,-3.600468454011582,-3.035039900923203,-0.5929719874443006,-5.592527907791692,-3.600468454011582],[-11.07632148749082,-14.380593382402697,-15.049872782864727,-17.313030867655414,-12.320287931764366,-14.380593382402697],[33.59309396466658,28.200291684576047,30.7165603545101,26.163885948113162,26.65000897082827,28.200291684576047],[33.59309396466658,37.23203230957009,34.72255283605786,39.29281897630613,38.76396053034392,37.23203230957009],[-25.39661698709083,-15.94928212187481,-16.34786496774904,-12.498970201896059,-17.187383360848393,-15.94928212187481],[-25.39661698709083,-24.12327161592619,-26.71252317508746,-23.650267953588656,-21.758393268282372,-24.12327161592619],[-25.39661698709083,-32.4157222767011,-30.53747852544224,-35.5311288523278,-32.816147071756774,-32.4157222767011],[-45.163117319692354,-15.91759210038583,-17.26438183195333,-12.498970201896059,-16.192454029055728,-15.91759210038583],[-45.163117319692354,-0.05206285236986519,1.6796546700397113,1.725892532721727,-2.6271682625524377,-0.05206285236986519],[-45.163117319692354,-26.087648186013155,-28.459892265292062,-23.650267953588656,-24.871595641775635,-26.087648186013155],[-2.1906067468707375,0.8749718268976383,0.4918964051131365,4.32172439166242,-0.3769484264896379,0.8749718268976383],[-2.1906067468707375,-9.627075126796306,-7.5169539329026005,-12.498970201896059,-10.374889065061504,-9.627075126796306],[-2.1906067468707375,-4.0277593900884305,-6.274131662706807,-4.822075540572852,-1.4045966614224046,-4.0277593900884305],[-15.081203859351488,-7.910126295517642,-7.465829837794407,-4.822075540572852,-9.819265248945305,-7.910126295517642],[-15.081203859351488,-21.229208993289973,-18.84959644903858,-23.650267953588656,-22.460372133342734,-21.229208993289973],[-15.081203859351488,-16.47136044100251,-18.82049078676681,-16.990752751678002,-13.875852043516979,-16.47136044100251],[-18.910651063727126,-6.351276010226575,-4.465212776876022,-4.822075540572852,-8.962728173410305,-6.351276010226575],[-18.910651063727126,1.1937589760769245,3.538484553396879,1.725892532721727,-1.4033885686978957,1.1937589760769245],[-18.910651063727126,-23.14485492491366,-20.55118435507691,-23.650267953588656,-25.498778631425598,-23.14485492491366],[18.621324071018318,5.15823472437703,5.483132209686355,1.725892532721727,6.461497234198953,5.15823472437703],[18.621324071018318,19.513755449407803,21.594597606366392,20.679342511111322,16.880007399405656,19.513755449407803],[18.621324071018318,28.92785431886437,26.890749169306957,31.886775087043457,29.561370853270084,28.92785431886437],[46.545314070722924,5.225880181027481,6.06264604092474,1.725892532721727,6.049362499845966,5.225880181027481],[46.545314070722924,-151.4790054789535,-151.9010448693374,-154.5810541784932,-149.58548355171226,-151.4790054789535],[46.545314070722924,23.972225656887602,25.6004694722348,20.679342511111322,23.905988281233196,23.972225656887602],[-0.5929719874443006,1.201669021108441,3.5491332103531104,1.725892532721727,-1.3944649401044915,1.201669021108441],[-0.5929719874443006,10.249246693158575,8.732811136280054,13.600259577780978,10.176101486447694,10.249246693158575],[-0.5929719874443006,-8.068825020923537,-8.634253574011916,-11.07632148749082,-6.076765567143428,-8.068825020923537],[-17.313030867655414,10.164896529777113,9.828341260594907,13.600259577780978,8.871858835556512,10.164896529777113],[26.163885948113162,30.632340639797533,32.668725807010105,31.886775087043457,28.000904085084642,30.632340639797533],[26.163885948113162,17.099052437359035,17.994547335191623,13.600259577780978,17.863238960296613,17.099052437359035],[26.163885948113162,31.556688228203694,29.04041955826964,33.59309396466658,33.10697094195147,31.556688228203694],[39.29281897630613,21.960430980790846,24.590790725251498,20.679342511111322,19.93776618050771,21.960430980790846],[39.29281897630613,16.43849483806926,18.574542537083374,13.600259577780978,15.64878758226827,16.43849483806926],[-4.88856097772736,-46.71571700393726,-49.0223080876535,-47.35426515636819,-44.10622530638343,-46.71571700393726]]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1059\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1060\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1065\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"color\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":4},\"line_join\":{\"type\":\"value\",\"value\":\"round\"}}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1066\",\"attributes\":{\"line_color\":{\"type\":\"value\",\"value\":\"#fdae61\"},\"line_width\":{\"type\":\"value\",\"value\":5},\"line_join\":{\"type\":\"value\",\"value\":\"round\"}}},\"hover_glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1067\",\"attributes\":{\"line_color\":{\"type\":\"value\",\"value\":\"#abdda4\"},\"line_width\":{\"type\":\"value\",\"value\":5},\"line_join\":{\"type\":\"value\",\"value\":\"round\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesAndLinkedEdges\",\"id\":\"p1090\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"EdgesAndLinkedNodes\",\"id\":\"p1091\"}}},{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1010\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1027\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,[159.0398647975716,-47.35426515636819]],[1,[41.42236568289106,-23.650267953588656]],[2,[-69.45254379331404,20.679342511111322]],[3,[-40.66787982659383,13.600259577780978]],[4,[26.42202060504062,-12.498970201896059]],[5,[-60.25437662892129,1.725892532721727]],[6,[23.429964880877026,-35.5311288523278]],[7,[32.4536763086446,4.32172439166242]],[8,[44.895306465341775,-4.822075540572852]],[9,[63.093613349785684,-16.990752751678002]],[10,[44.957922479857515,-154.5810541784932]],[11,[-55.24446065584604,31.886775087043457]],[12,[-38.70670815622145,-11.07632148749082]],[13,[-29.952919520214394,33.59309396466658]],[14,[28.618769295737412,-25.39661698709083]],[15,[19.252603820961674,-45.163117319692354]],[16,[33.60279960704143,-2.1906067468707375]],[17,[50.368317905974784,-15.081203859351488]],[18,[73.90033923353042,-18.910651063727126]],[19,[-63.625523460351076,18.621324071018318]],[20,[-60.135304083282286,46.545314070722924]],[21,[-44.947024193615526,-0.5929719874443006]],[22,[-34.64301054244538,-17.313030867655414]],[23,[-40.337824118988216,26.163885948113162]],[24,[-22.12851002532624,39.29281897630613]],[25,[-69.81592535490637,-4.88856097772736]]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1015\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1012\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1013\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1014\"},\"data\":{\"type\":\"map\",\"entries\":[[\"species\",[\"dna[mydna]+protein[RNAP] <--> complex[dna[mydna]:protein[RNAP]]\",\"complex[dna[mydna]:protein[RNAP]] --> dna[mydna]+rna[mydna]+protein[RNAP]\",\"2protein[laci]+dna[mydna] <--> complex[dna[mydna]:2x_protein[laci]]\",\"complex[dna[mydna]:2x_protein[laci]]+protein[RNAP] <--> complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP]]\",\"complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP]] --> complex[dna[mydna]:2x_protein[laci]]+rna[mydna]+protein[RNAP]\",\"rna[mydna]+protein[Ribo] <--> complex[protein[Ribo]:rna[mydna]]\",\"complex[protein[Ribo]:rna[mydna]] --> rna[mydna]+protein[GFP]+protein[Ribo]\",\"rna[mydna]+protein[RNAase] <--> complex[protein[RNAase]:rna[mydna]]\",\"complex[protein[RNAase]:rna[mydna]] --> protein[RNAase]\",\"complex[protein[Ribo]:rna[mydna]]+protein[RNAase] <--> complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase]]\",\"complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase]] --> protein[Ribo]+protein[RNAase]\",\"rna[mydna] --> \"]],[\"color\",[\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\"]],[\"k_r\",[\"10.0\",\"None\",\"10.0\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"None\",\"None\"]],[\"k\",[\"100.0\",\"0.05\",\"100.0\",\"100.0\",\"0.05\",\"100.0\",\"0.05\",\"100.0\",\"0.001\",\"100.0\",\"0.001\",\"0.1\"]],[\"type\",[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"]],[\"index\",[14,15,16,17,18,19,20,21,22,23,24,25]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1016\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1017\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1070\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":8},\"fill_color\":{\"type\":\"field\",\"field\":\"color\"},\"marker\":{\"type\":\"value\",\"value\":\"square\"}}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1071\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":8},\"fill_color\":{\"type\":\"value\",\"value\":\"#fdae61\"},\"marker\":{\"type\":\"value\",\"value\":\"square\"}}},\"hover_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1072\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":8},\"fill_color\":{\"type\":\"value\",\"value\":\"#abdda4\"},\"marker\":{\"type\":\"value\",\"value\":\"square\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1022\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1019\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1020\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1021\"},\"data\":{\"type\":\"map\",\"entries\":[[\"start\",[]],[\"end\",[]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1023\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1024\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1018\"}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1025\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1026\"}}},{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1028\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1045\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,[159.0398647975716,-47.35426515636819]],[1,[41.42236568289106,-23.650267953588656]],[2,[-69.45254379331404,20.679342511111322]],[3,[-40.66787982659383,13.600259577780978]],[4,[26.42202060504062,-12.498970201896059]],[5,[-60.25437662892129,1.725892532721727]],[6,[23.429964880877026,-35.5311288523278]],[7,[32.4536763086446,4.32172439166242]],[8,[44.895306465341775,-4.822075540572852]],[9,[63.093613349785684,-16.990752751678002]],[10,[44.957922479857515,-154.5810541784932]],[11,[-55.24446065584604,31.886775087043457]],[12,[-38.70670815622145,-11.07632148749082]],[13,[-29.952919520214394,33.59309396466658]],[14,[28.618769295737412,-25.39661698709083]],[15,[19.252603820961674,-45.163117319692354]],[16,[33.60279960704143,-2.1906067468707375]],[17,[50.368317905974784,-15.081203859351488]],[18,[73.90033923353042,-18.910651063727126]],[19,[-63.625523460351076,18.621324071018318]],[20,[-60.135304083282286,46.545314070722924]],[21,[-44.947024193615526,-0.5929719874443006]],[22,[-34.64301054244538,-17.313030867655414]],[23,[-40.337824118988216,26.163885948113162]],[24,[-22.12851002532624,39.29281897630613]],[25,[-69.81592535490637,-4.88856097772736]]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1033\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1030\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1031\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1032\"},\"data\":{\"type\":\"map\",\"entries\":[[\"color\",[\"purple\",\"green\",\"green\",\"green\",\"grey\",\"orange\",\"cyan\",\"green\",\"cyan\",\"cyan\",\"green\",\"cyan\",\"cyan\",\"cyan\"]],[\"species\",[\"nothing\",\"protein_RNAP\",\"protein_Ribo\",\"protein_RNAase\",\"dna_mydna\",\"rna_mydna\",\"complex_dna_mydna_protein_RNAP_\",\"protein_laci\",\"complex_dna_mydna_protein_laci_2x_\",\"complex_complex_dna_mydna_protein_laci_2x__protein_RNAP_\",\"protein_GFP\",\"complex_protein_Ribo_rna_mydna_\",\"complex_protein_RNAase_rna_mydna_\",\"complex_complex_protein_Ribo_rna_mydna__protein_RNAase_\"]],[\"image\",[\"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\",null,null,null,null,null,null,null,null,null,null,null,null,null]],[\"type\",[\"nothing\",\"protein\",\"protein\",\"protein\",\"dna\",\"rna\",\"complex\",\"protein\",\"complex\",\"complex\",\"protein\",\"complex\",\"complex\",\"complex\"]],[\"index\",[0,1,2,3,4,5,6,7,8,9,10,11,12,13]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1034\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1035\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1073\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":12},\"fill_color\":{\"type\":\"field\",\"field\":\"color\"}}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1074\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":15},\"fill_color\":{\"type\":\"value\",\"value\":\"#fdae61\"}}},\"hover_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1075\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":15},\"fill_color\":{\"type\":\"value\",\"value\":\"#abdda4\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1040\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1037\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1038\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1039\"},\"data\":{\"type\":\"map\",\"entries\":[[\"start\",[]],[\"end\",[]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1041\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1042\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1036\"}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1043\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1044\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1009\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1076\",\"attributes\":{\"renderers\":[{\"id\":\"p1046\"}],\"tooltips\":null}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1077\",\"attributes\":{\"renderers\":[{\"id\":\"p1028\"}],\"tooltips\":[[\"name\",\"@species\"],[\"type\",\"@type\"]],\"attachment\":\"right\"}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1078\",\"attributes\":{\"renderers\":[{\"id\":\"p1010\"}],\"tooltips\":[[\"reaction\",\"@species\"],[\"type\",\"@type\"],[\"k_f\",\"@k\"],[\"k_r\",\"@k_r\"]],\"attachment\":\"right\"}},{\"type\":\"object\",\"name\":\"TapTool\",\"id\":\"p1079\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxSelectTool\",\"id\":\"p1080\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1081\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"editable\":true,\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1087\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1086\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1088\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1089\",\"attributes\":{\"renderers\":\"auto\"}}]}}}}]}};\n const render_items = [{\"docid\":\"f4c83db7-d62d-42ca-8c84-acf11938c9a1\",\"roots\":{\"p1003\":\"b4490972-4369-4abc-9e14-892d95ed51bb\"},\"root_ids\":[\"p1003\"]}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const timer = setInterval(function(root) {\n if (root.Bokeh !== undefined) {\n clearInterval(timer);\n embed_document(root);\n } else {\n attempts++;\n if (attempts > 100) {\n clearInterval(timer);\n console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n }\n }\n }, 10, root)\n }\n})(window);", "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "p1003" } }, "output_type": "display_data" } ], "source": [ "from biocrnpyler.utils.plotting import render_network_bokeh\n", "try:\n", " from bokeh.models import (Plot , Range1d)\n", " import bokeh.plotting\n", " import bokeh.io\n", " bokeh.io.output_notebook() #this makes the graph appear in line with the notebook\n", " plot = render_network_bokeh(crn1)\n", " bokeh.io.show(plot) #if you don't type this the plot won't show\n", "except ModuleNotFoundError:\n", " print('please install the plotting libraries: pip install biocrnpyler[all]')\n", "\n", "\n", "#mouse over nodes to get a tooltip telling you what they are\n", "#mouse over single lines to outline them\n", "#click on nodes to highlight all edges that touch them\n", "#use the magnifying glass symbol to zoom in and out\n", "#click and drag to move around\n", "\n", "#NOTE: this function is not deterministic in how it displays the network, \n", "# because it uses randomness to push the nodes around. However, it does always get the same seed\n", "# so if you don't change the network it will end up always looking the same. To set the seed use rseed=" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Advanced options for generate_networkx_graph\n", "The following options are useful changing how plotting works.\n", "\n", "To get better control over the way reactions and species text is display using the following keywords (default values shown below):\n", "\n", " use_pretty_print=False\n", " pp_show_rates=True\n", " pp_show_attributes=True\n", " pp_show_material=True\n", "\n", "To get better control over the colors of different nodes, use the keywords to set a species' color.\n", "The higher keywords will take precedence.\n", "\n", " repr(species): \"color\"\n", " species.name: \"color\"\n", " (species.material_type, tuple(specie.attributes)): \"color\"\n", " species.material_type: \"color\"\n", " tuple(species.attributes): \"color\"\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ " \n", "
\n", " \n", " Loading BokehJS ...\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const script = document.createElement(\"script\");\n node.appendChild(script);\n }\n\n /**\n * Handle when an output is cleared or removed\n */\n function handleClearOutput(event, handle) {\n function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n cell.notebook.kernel.execute(cmd_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n\n if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n // store reference to embed id on output_area\n output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n }\n if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n }\n\n function register_renderer(events, OutputArea) {\n\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n const toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[toinsert.length - 1]);\n element.append(toinsert);\n return toinsert\n }\n\n /* Handle when an output is cleared or removed */\n events.on('clear_output.CodeCell', handleClearOutput);\n events.on('delete.Cell', handleClearOutput);\n\n /* Handle when a new output is added */\n events.on('output_added.OutputArea', handleAddOutput);\n\n /**\n * Register the mime type and append_mime function with output_area\n */\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n /* Is output safe? */\n safe: true,\n /* Index of renderer in `output_area.display_order` */\n index: 0\n });\n }\n\n // register the mime type if in Jupyter Notebook environment and previously unregistered\n if (root.Jupyter !== undefined) {\n const events = require('base/js/events');\n const OutputArea = require('notebook/js/outputarea').OutputArea;\n\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n }\n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const NB_LOAD_WARNING = {'data': {'text/html':\n \"
\\n\"+\n \"

\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"

\\n\"+\n \"
    \\n\"+\n \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n \"
  • use INLINE resources instead, as so:
  • \\n\"+\n \"
\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(\"d0751e49-9624-484a-8688-b508952b4c55\");\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.6.2.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {display_loaded(error);throw error;\n }if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(\"d0751e49-9624-484a-8688-b508952b4c55\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"1ebc863d-3efd-4964-90d4-b8563427b048\":{\"version\":\"3.6.2\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Plot\",\"id\":\"p1094\",\"attributes\":{\"width\":500,\"height\":500,\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1159\",\"attributes\":{\"start\":-65.09999998935632,\"end\":65.09999956360886}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1160\",\"attributes\":{\"start\":-65.0999988256372,\"end\":65.10000072732798}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1097\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1098\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1099\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1137\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1154\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3LZt/P//SECjTiYhs+evPg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VfyaWTOGRkD5J2dZtrE1QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"n6ozWKssP0AphJTCuItDQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eIhEcYlAJkBdPjzmiV9IQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Da2NTYlAJsBdPjzmiV9IQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5zxYX6ssP8AphJTCuItDQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eUUtXTOGRsD2J2eLtrE1QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAAScBF7RcxBrHMvg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eUUtXTOGRsDYdH85trE1wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8TxYyaosP8CVqqDkuItDwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Bq2NsYlAJsDMZEjWiV9IwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cYhE1YlAJkDMZEjWiV9IwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qqozwqosP0CVqqDkuItDwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VfyaWTOGRkDYdH85trE1wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAQUCNseMQnyOnPg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sneTZpZPPkCoDLAFAIAxQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"58Jh9P9/MUBuwWGJlk8+QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i1tnAa/Oq77lJOf//39BQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VLdaEQCAMcB6wWFmlk8+QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MWwMT5ZPPsCcDLAoAIAxQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QHo89P9/QcByjyZ99eHDvg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JWwMcpZPPsCdbQzd/38xwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cbfauf9/McBeIj5ylk8+wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AE3R0B3Esj5cVVX0/39BwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8sJh0f9/MUBeIj5ylk8+wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vneTQ5ZPPkB1bYxXAIAxwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1142\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1139\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1140\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1141\"},\"data\":{\"type\":\"map\",\"entries\":[[\"species\",[\"nothing\",\"protein[RNAP in default.]\",\"protein[Ribo in default.]\",\"protein[RNAase in default.]\",\"dna[mydna in default.]\",\"rna[mydna in default.]\",\"complex[dna[mydna]:protein[RNAP] in default.]\",\"protein[laci in default.]\",\"complex[dna[mydna]:2x_protein[laci] in default.]\",\"complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP] in default.]\",\"protein[GFP in default.]\",\"complex[protein[Ribo]:rna[mydna] in default.]\",\"complex[protein[RNAase]:rna[mydna] in default.]\",\"complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase] in default.]\",\"dna[mydna]+protein[RNAP] <--> complex[dna[mydna]:protein[RNAP]]\",\"complex[dna[mydna]:protein[RNAP]] --> dna[mydna]+rna[mydna]+protein[RNAP]\",\"2protein[laci]+dna[mydna] <--> complex[dna[mydna]:2x_protein[laci]]\",\"complex[dna[mydna]:2x_protein[laci]]+protein[RNAP] <--> complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP]]\",\"complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP]] --> complex[dna[mydna]:2x_protein[laci]]+rna[mydna]+protein[RNAP]\",\"rna[mydna]+protein[Ribo] <--> complex[protein[Ribo]:rna[mydna]]\",\"complex[protein[Ribo]:rna[mydna]] --> rna[mydna]+protein[GFP]+protein[Ribo]\",\"rna[mydna]+protein[RNAase] <--> complex[protein[RNAase]:rna[mydna]]\",\"complex[protein[RNAase]:rna[mydna]] --> protein[RNAase]\",\"complex[protein[Ribo]:rna[mydna]]+protein[RNAase] <--> complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase]]\",\"complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase]] --> protein[Ribo]+protein[RNAase]\",\"rna[mydna] --> \"]],[\"k_r\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"10.0\",\"None\",\"10.0\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"None\",\"None\"]],[\"image\",[\"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\",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]],[\"k\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"100.0\",\"0.05\",\"100.0\",\"100.0\",\"0.05\",\"100.0\",\"0.05\",\"100.0\",\"0.001\",\"100.0\",\"0.001\",\"0.1\"]],[\"color\",[null,\"blue\",\"blue\",\"blue\",\"grey\",\"grey\",\"grey\",\"blue\",\"grey\",\"grey\",\"lightgreen\",\"grey\",\"grey\",\"grey\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\"]],[\"type\",[\"nothing\",\"protein\",\"protein\",\"protein\",\"dna\",\"rna\",\"complex\",\"protein\",\"complex\",\"complex\",\"protein\",\"complex\",\"complex\",\"complex\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"]],[\"index\",[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1143\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1144\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1155\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":12},\"line_alpha\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"field\",\"field\":\"color\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1149\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1146\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1147\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1148\"},\"data\":{\"type\":\"map\",\"entries\":[[\"color\",[\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\",\"gray\"]],[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[1,1,2,3,3,4,4,5,5,5,6,6,7,8,8,9,9,11,11,11,12,12,13,13,14,14,14,15,15,15,16,16,16,17,17,17,18,18,18,19,19,19,20,20,20,21,21,21,22,23,23,23,24,24,25]],[\"end\",[14,17,19,21,23,14,16,19,21,25,14,15,16,16,17,17,18,19,20,23,21,22,23,24,4,1,6,4,5,1,7,4,8,8,1,9,8,5,1,5,2,11,5,10,2,5,3,12,3,11,3,13,2,3,0]],[\"xs\",[[45.04844207828197,36.47101552436898,34.55143531504556,35.0,39.08838415199679,36.47101552436898],[45.04844207828197,3.3566412354622943,4.8609384505801945,-8.287238440440713e-07,3.444595031962495,3.3566412354622943],[31.17448951016797,-27.008585404646286,-27.05367406077198,-30.31088728001868,-25.39702245630113,-27.008585404646286],[11.126048602691512,-28.454832130127112,-30.134135990741516,-30.310889366181204,-25.89509212076154,-28.454832130127112],[11.126048602691512,0.4609402448853077,-1.9079596866970336,1.1185455293286181e-06,3.048490475240815,0.4609402448853077],[-11.12604753832286,32.59439889391652,30.207940836249687,35.0,33.839740108778194,32.59439889391652],[-11.12604753832286,14.557420814382612,12.505892148704067,17.499999307506098,15.213112958666205,14.557420814382612],[-31.174489935915428,-30.450765665542455,-32.98194457721042,-30.31088728001868,-27.985939226552496,-30.450765665542455],[-31.174489935915428,-30.364293961712487,-32.87666937565853,-30.310889366181204,-27.877251460729376,-30.364293961712487],[-31.174489935915428,27.735650574342003,25.431811368101048,30.310886596205584,28.817905208096864,27.735650574342003],[-45.04844250402943,31.621861130435043,30.16669381946541,35.0,31.474580241806308,31.621861130435043],[-45.04844250402943,26.81629688475463,25.848527830184906,30.31088868236811,26.12637732715131,26.81629688475463],[-50.0,14.307140289239173,14.573970895316076,17.499999307506098,12.525750518206404,14.307140289239173],[-45.04844250402943,14.8087163252259,15.76870852229495,17.499999307506098,12.572091717210398,14.8087163252259],[-45.04844250402943,-2.1773763338779184,-0.7364743910948661,-8.287238440440713e-07,-4.651134412185403,-2.1773763338779184],[-31.174480995218747,-1.3573875622476173,0.6250014012870462,-8.287238440440713e-07,-3.983664184424923,-1.3573875622476173],[-31.174480995218747,-18.176603365369868,-15.88423744570998,-17.500001034400455,-20.789921214174583,-18.176603365369868],[11.126051582923738,-28.454830067675122,-25.895090053339715,-30.31088728001868,-30.134133944506647,-28.454830067675122],[11.126051582923738,-32.59439732559292,-30.207939340740687,-34.999998597650574,-33.83973838890879,-32.59439732559292],[11.126051582923738,2.201957721392836,4.667465232523427,1.1185455293286181e-06,0.7809665934152009,2.201957721392836],[31.174480569471292,-27.008587675069073,-25.39702439563394,-30.310889366181204,-27.053676749690126,-27.008587675069073],[31.174480569471292,-14.055592371201694,-12.794825055441105,-17.49999581899414,-13.68247833491584,-14.055592371201694],[45.04844207828197,3.356643160512682,3.4445968980108046,1.1185455293286181e-06,4.8609404240929,3.356643160512682],[45.04844207828197,20.84040729839012,20.88637892121101,17.49999722134357,22.378986909418547,20.84040729839012],[35.0,-8.720446432239378,-6.333988374572546,-11.12604753832286,-9.965787647101056,-8.720446432239378],[35.0,43.57742655391299,45.49700676323641,45.04844207828197,40.96005792628518,43.57742655391299],[35.0,-41.670303634464474,-40.21513632349484,-45.04844250402943,-41.52302274583574,-41.670303634464474],[30.31088868236811,-8.331517855820593,-6.163517947484525,-11.12604753832286,-9.173909424370837,-8.331517855820593],[30.31088868236811,-27.872188084791333,-26.260625092875358,-31.174489935915428,-27.917276795990233,-27.872188084791333],[30.31088868236811,41.68211202850242,41.56799606938435,45.04844207828197,40.19938139965951,41.68211202850242],[17.499999307506098,-46.80714098173308,-47.07397158780998,-50.0,-45.02575121070031,-46.80714098173308],[17.499999307506098,-8.183469045199374,-6.131940379520829,-11.12604753832286,-8.839161189482969,-8.183469045199374],[17.499999307506098,-42.35715952174923,-43.31715171881828,-45.04844250402943,-40.12053491373373,-42.35715952174923],[-8.287238440440713e-07,-42.87106699887536,-44.31196894165841,-45.04844250402943,-40.39730892056787,-42.87106699887536],[-8.287238440440713e-07,41.69180001409583,40.18750279897793,45.04844207828197,41.60384621759563,41.69180001409583],[-8.287238440440713e-07,-29.817094261694972,-31.799483225229636,-31.174480995218747,-27.190817639517668,-29.817094261694972],[-17.500001034400455,-43.410076370788836,-45.230672733364784,-45.04844250402943,-40.812307440161405,-43.410076370788836],[-17.500001034400455,-28.229380550425887,-26.180062797985336,-31.174489935915428,-28.881661231680035,-28.229380550425887],[-17.500001034400455,41.581188104380175,40.41764892095719,45.04844207828197,41.100006599116746,41.581188104380175],[-30.31088728001868,-31.03461155039165,-28.503432638723687,-31.174489935915428,-33.49943798938161,-31.03461155039165],[-30.31088728001868,27.872187634795576,27.917276290921272,31.17448951016797,26.26062468645042,27.872187634795576],[-30.31088728001868,9.26999437058018,6.710254356244771,11.126051582923738,10.949298247411706,9.26999437058018],[-34.999998597650574,-31.515372186013213,-29.10810781576563,-31.174489935915428,-34.084336879733456,-31.515372186013213],[-34.999998597650574,-12.665491129217894,-15.275804507886232,-11.126050518555086,-10.785424176228,-12.665491129217894],[-34.999998597650574,28.161016756809815,28.71782918852706,31.17448951016797,26.174738523179162,28.161016756809815],[-30.310889366181204,-31.121085340384145,-28.608709926438102,-31.174489935915428,-33.608127841367256,-31.121085340384145],[-30.310889366181204,9.26999136663742,10.949295227251822,11.126048602691512,6.710251357271849,9.26999136663742],[-30.310889366181204,27.872178878359158,26.26061559892403,31.174480569471292,27.917267952980215,27.872178878359158],[-17.49999581899414,9.934436544246411,12.002457980526941,11.126048602691512,7.30116404180087,9.934436544246411],[1.1185455293286181e-06,8.92409498007643,6.45858746894584,11.126051582923738,10.345086108054065,8.92409498007643],[1.1185455293286181e-06,10.665109476351732,13.034009407934073,11.126048602691512,8.077559245996227,10.665109476351732],[1.1185455293286181e-06,41.69180003631482,41.6038462988167,45.04844207828197,40.187502772734604,41.69180003631482],[17.49999722134357,30.497886560558484,32.790252246424345,31.17448951016797,27.88456865209075,30.497886560558484],[17.49999722134357,11.407321412465002,13.965947484024255,11.126048602691512,8.982119431809256,11.407321412465002],[30.310886596205584,47.38397277556787,48.4243396786069,49.99999957425254,45.10267185663589,47.38397277556787]]],[\"ys\",[[21.69418867844067,3.175864875466151,4.979839012619591,6.896002860113767e-07,2.878388263521048,3.175864875466151],[21.69418867844067,34.00855959539319,36.17101208183843,34.99999998842558,31.375809133001084,34.00855959539319],[39.09157593013544,18.65965854830505,21.293491853704882,17.500002425175452,16.575917746030036,18.65965854830505],[48.74639585439284,-14.532667207745112,-12.503123068961672,-17.499997916731093,-15.154633406181802,-14.532667207745112],[48.74639585439284,-31.53048349586851,-30.37834462329549,-34.999998609225,-31.03682908949517,-31.53048349586851],[48.74639585439284,2.542260180370244,1.426944616710476,6.896002860113767e-07,4.863517625401165,2.542260180370244],[48.74639585439284,32.205945323929704,30.553570971234812,30.310890756956205,34.757254532839795,32.205945323929704],[39.09157593013544,20.997206170635998,21.72675684377121,17.500002425175452,21.92658310880518,20.997206170635998],[39.09157593013544,-14.000405376280685,-13.208521137932618,-17.499997916731093,-13.132228858602215,-14.000405376280685],[39.09157593013544,-15.129739530302864,-16.407016234596686,-17.500005218299936,-12.728107631934428,-15.129739530302864],[21.6941916586729,0.9155211852389147,-1.2802927787912919,6.896002860113767e-07,3.545619892015787,0.9155211852389147],[21.6941916586729,17.694494986889406,15.244488063519217,17.500000339012928,20.2367620601099,17.694494986889406],[-3.4202934180418097e-06,28.877136492979435,26.256466293353913,30.310890756956205,30.81769346230666,28.877136492979435],[-21.694186776749888,28.073258993397015,25.620194410245734,30.310890756956205,29.46488438493173,28.073258993397015],[-21.694186776749888,32.259737973662205,30.05453674501465,34.99999998842558,33.165073180949044,32.259737973662205],[-39.09157998890911,31.7739340784272,30.039216561134943,34.99999998842558,31.978340466168905,31.7739340784272],[-39.09157998890911,26.87691003286846,25.579154525106492,30.31088867079368,26.545729283634223,26.87691003286846],[-48.74639395270205,14.532671701358598,15.15463787934162,17.500002425175452,12.50312757599368,14.532671701358598],[-48.74639395270205,-2.5422617039145052,-1.4269459844522354,-2.3701968327616378e-06,-4.863519230248875,-2.5422617039145052],[-48.74639395270205,-37.72054765660076,-36.79297901757544,-34.999998609225,-39.93863130735731,-37.72054765660076],[-39.09157998890911,-18.659654564570424,-16.57591401836009,-17.499997916731093,-21.293487862805993,-18.659654564570424],[-39.09157998890911,-30.93224667338795,-28.61933149053872,-30.310889377755636,-33.53990784452793,-30.93224667338795],[-21.694186776749888,-34.00855814096754,-31.375807676604314,-34.999998609225,-36.171010593700245,-34.00855814096754],[-21.694186776749888,-29.26606378601036,-26.63224574418593,-30.310889377755636,-31.404260139966716,-29.26606378601036],[6.896002860113767e-07,46.20413636362288,47.31945192728265,48.74639585439284,43.882878918591956,46.20413636362288],[6.896002860113767e-07,18.518324492574806,16.714350355421367,21.69418867844067,18.81580110451991,18.518324492574806],[6.896002860113767e-07,20.77867116303427,22.97448512706448,21.6941916586729,18.148572456257398,20.77867116303427],[17.500000339012928,46.63912182057242,48.135412990431895,48.74639585439284,44.143227729714376,46.63912182057242],[17.500000339012928,37.93191973795503,40.01566050653241,39.09157593013544,35.29808643349799,37.93191973795503],[17.500000339012928,20.73615840963328,18.104412142338653,21.69418867844067,22.913455070595163,20.73615840963328],[30.310890756956205,1.4337508436833517,4.054421043308875,-3.4202934180418097e-06,-0.5068061256438745,1.4337508436833517],[30.310890756956205,46.85134128741934,48.50371564011423,48.74639585439284,44.30003207850925,46.85134128741934],[30.310890756956205,-19.4565550131907,-17.003490430039417,-21.694186776749888,-20.848180404725415,-19.4565550131907],[34.99999998842558,-18.95392476198651,-16.74872353333896,-21.694186776749888,-19.85925996927335,-18.95392476198651],[34.99999998842558,22.685629071473063,20.523176585027826,21.69418867844067,25.318379533865166,22.685629071473063],[34.99999998842558,-35.865514078910735,-34.130796561618475,-39.09157998890911,-36.06992046665244,-35.865514078910735],[30.31088867079368,-18.60133107150752,-16.697508665892997,-21.694186776749888,-19.03803171337956,-18.60133107150752],[30.31088867079368,37.20045702654915,38.85557261679554,39.09157593013544,34.64827349466762,37.20045702654915],[30.31088867079368,22.17183905315236,19.80851778083579,21.69418867844067,24.761737743552636,22.17183905315236],[17.500002425175452,35.594372184674896,34.86482151153969,39.09157593013544,34.66499524650571,35.594372184674896],[17.500002425175452,37.93191980700585,35.29808650160601,39.09157593013544,40.01566060928086,37.93191980700585],[17.500002425175452,-45.77906322888519,-46.40102940686822,-48.74639395270205,-43.74951910352028,-45.77906322888519],[-2.3701968327616378e-06,35.60821558535796,34.53854782419043,39.09157593013544,35.025522467187265,35.60821558535796],[-2.3701968327616378e-06,-45.60312772054129,-45.957210949019746,-48.74639395270205,-43.758010076644304,-45.60312772054129],[-2.3701968327616378e-06,37.311412464391914,34.73671427170412,39.09157593013544,39.04167534793006,37.311412464391914],[-17.499997916731093,35.59198338968503,34.800099151336966,39.09157593013544,34.72380687200656,35.59198338968503],[-17.499997916731093,45.779065145406854,43.74952100662342,48.74639585439284,46.40103134384354,45.779065145406854],[-17.499997916731093,-37.93192334106978,-40.01566388728011,-39.09157998890911,-35.29809004283421,-37.93192334106978],[-30.310889377755636,45.45549009728459,43.82380440248033,48.74639585439284,45.52610734311618,45.45549009728459],[-34.999998609225,-46.025844905326295,-46.95341354435161,-48.74639395270205,-43.80776125456974,-46.025844905326295],[-34.999998609225,45.276880741036344,44.124741868463325,48.74639585439284,44.783226334663006,45.276880741036344],[-34.999998609225,-22.685627245007353,-25.318377709370576,-21.694186776749888,-20.523174792274645,-22.685627245007353],[-30.310889377755636,35.65759741410193,34.359841493364364,39.09157593013544,35.326417135663625,35.65759741410193],[-30.310889377755636,45.25771621784234,44.63118330291934,48.74639585439284,44.22936500324292,45.25771621784234],[-17.500005218299936,-2.325166524534314,-4.745238336403878,9.508453920219704e-07,-1.0080571954257789,-2.325166524534314]]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1150\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1151\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1156\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"color\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":4},\"line_join\":{\"type\":\"value\",\"value\":\"round\"}}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1157\",\"attributes\":{\"line_color\":{\"type\":\"value\",\"value\":\"#fdae61\"},\"line_width\":{\"type\":\"value\",\"value\":5},\"line_join\":{\"type\":\"value\",\"value\":\"round\"}}},\"hover_glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1158\",\"attributes\":{\"line_color\":{\"type\":\"value\",\"value\":\"#abdda4\"},\"line_width\":{\"type\":\"value\",\"value\":5},\"line_join\":{\"type\":\"value\",\"value\":\"round\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesAndLinkedEdges\",\"id\":\"p1181\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"EdgesAndLinkedNodes\",\"id\":\"p1182\"}}},{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1101\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1118\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3LZt/P//SECjTiYhs+evPg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VfyaWTOGRkD5J2dZtrE1QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"n6ozWKssP0AphJTCuItDQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eIhEcYlAJkBdPjzmiV9IQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Da2NTYlAJsBdPjzmiV9IQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5zxYX6ssP8AphJTCuItDQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eUUtXTOGRsD2J2eLtrE1QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAAScBF7RcxBrHMvg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eUUtXTOGRsDYdH85trE1wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8TxYyaosP8CVqqDkuItDwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Bq2NsYlAJsDMZEjWiV9IwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cYhE1YlAJkDMZEjWiV9IwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qqozwqosP0CVqqDkuItDwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VfyaWTOGRkDYdH85trE1wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAQUCNseMQnyOnPg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sneTZpZPPkCoDLAFAIAxQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"58Jh9P9/MUBuwWGJlk8+QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i1tnAa/Oq77lJOf//39BQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VLdaEQCAMcB6wWFmlk8+QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MWwMT5ZPPsCcDLAoAIAxQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QHo89P9/QcByjyZ99eHDvg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JWwMcpZPPsCdbQzd/38xwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cbfauf9/McBeIj5ylk8+wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AE3R0B3Esj5cVVX0/39BwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8sJh0f9/MUBeIj5ylk8+wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vneTQ5ZPPkB1bYxXAIAxwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1106\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1103\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1104\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1105\"},\"data\":{\"type\":\"map\",\"entries\":[[\"species\",[\"dna[mydna]+protein[RNAP] <--> complex[dna[mydna]:protein[RNAP]]\",\"complex[dna[mydna]:protein[RNAP]] --> dna[mydna]+rna[mydna]+protein[RNAP]\",\"2protein[laci]+dna[mydna] <--> complex[dna[mydna]:2x_protein[laci]]\",\"complex[dna[mydna]:2x_protein[laci]]+protein[RNAP] <--> complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP]]\",\"complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP]] --> complex[dna[mydna]:2x_protein[laci]]+rna[mydna]+protein[RNAP]\",\"rna[mydna]+protein[Ribo] <--> complex[protein[Ribo]:rna[mydna]]\",\"complex[protein[Ribo]:rna[mydna]] --> rna[mydna]+protein[GFP]+protein[Ribo]\",\"rna[mydna]+protein[RNAase] <--> complex[protein[RNAase]:rna[mydna]]\",\"complex[protein[RNAase]:rna[mydna]] --> protein[RNAase]\",\"complex[protein[Ribo]:rna[mydna]]+protein[RNAase] <--> complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase]]\",\"complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase]] --> protein[Ribo]+protein[RNAase]\",\"rna[mydna] --> \"]],[\"color\",[\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\"]],[\"k_r\",[\"10.0\",\"None\",\"10.0\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"None\",\"None\"]],[\"k\",[\"100.0\",\"0.05\",\"100.0\",\"100.0\",\"0.05\",\"100.0\",\"0.05\",\"100.0\",\"0.001\",\"100.0\",\"0.001\",\"0.1\"]],[\"type\",[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"]],[\"index\",[14,15,16,17,18,19,20,21,22,23,24,25]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1107\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1108\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1161\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":8},\"fill_color\":{\"type\":\"field\",\"field\":\"color\"},\"marker\":{\"type\":\"value\",\"value\":\"square\"}}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1162\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":8},\"fill_color\":{\"type\":\"value\",\"value\":\"#fdae61\"},\"marker\":{\"type\":\"value\",\"value\":\"square\"}}},\"hover_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1163\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":8},\"fill_color\":{\"type\":\"value\",\"value\":\"#abdda4\"},\"marker\":{\"type\":\"value\",\"value\":\"square\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1113\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1110\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1111\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1112\"},\"data\":{\"type\":\"map\",\"entries\":[[\"start\",[]],[\"end\",[]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1114\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1115\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1109\"}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1116\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1117\"}}},{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1119\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1136\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3LZt/P//SECjTiYhs+evPg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VfyaWTOGRkD5J2dZtrE1QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"n6ozWKssP0AphJTCuItDQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eIhEcYlAJkBdPjzmiV9IQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Da2NTYlAJsBdPjzmiV9IQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5zxYX6ssP8AphJTCuItDQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eUUtXTOGRsD2J2eLtrE1QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAAScBF7RcxBrHMvg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eUUtXTOGRsDYdH85trE1wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8TxYyaosP8CVqqDkuItDwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Bq2NsYlAJsDMZEjWiV9IwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cYhE1YlAJkDMZEjWiV9IwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qqozwqosP0CVqqDkuItDwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VfyaWTOGRkDYdH85trE1wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAQUCNseMQnyOnPg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sneTZpZPPkCoDLAFAIAxQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"58Jh9P9/MUBuwWGJlk8+QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i1tnAa/Oq77lJOf//39BQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VLdaEQCAMcB6wWFmlk8+QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MWwMT5ZPPsCcDLAoAIAxQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QHo89P9/QcByjyZ99eHDvg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JWwMcpZPPsCdbQzd/38xwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cbfauf9/McBeIj5ylk8+wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AE3R0B3Esj5cVVX0/39BwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8sJh0f9/MUBeIj5ylk8+wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vneTQ5ZPPkB1bYxXAIAxwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1124\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1121\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1122\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1123\"},\"data\":{\"type\":\"map\",\"entries\":[[\"color\",[null,\"blue\",\"blue\",\"blue\",\"grey\",\"grey\",\"grey\",\"blue\",\"grey\",\"grey\",\"lightgreen\",\"grey\",\"grey\",\"grey\"]],[\"species\",[\"nothing\",\"protein[RNAP in default.]\",\"protein[Ribo in default.]\",\"protein[RNAase in default.]\",\"dna[mydna in default.]\",\"rna[mydna in default.]\",\"complex[dna[mydna]:protein[RNAP] in default.]\",\"protein[laci in default.]\",\"complex[dna[mydna]:2x_protein[laci] in default.]\",\"complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP] in default.]\",\"protein[GFP in default.]\",\"complex[protein[Ribo]:rna[mydna] in default.]\",\"complex[protein[RNAase]:rna[mydna] in default.]\",\"complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase] in default.]\"]],[\"image\",[\"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\",null,null,null,null,null,null,null,null,null,null,null,null,null]],[\"type\",[\"nothing\",\"protein\",\"protein\",\"protein\",\"dna\",\"rna\",\"complex\",\"protein\",\"complex\",\"complex\",\"protein\",\"complex\",\"complex\",\"complex\"]],[\"index\",[0,1,2,3,4,5,6,7,8,9,10,11,12,13]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1125\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1126\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1164\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":12},\"fill_color\":{\"type\":\"field\",\"field\":\"color\"}}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1165\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":15},\"fill_color\":{\"type\":\"value\",\"value\":\"#fdae61\"}}},\"hover_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1166\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":15},\"fill_color\":{\"type\":\"value\",\"value\":\"#abdda4\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1131\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1128\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1129\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1130\"},\"data\":{\"type\":\"map\",\"entries\":[[\"start\",[]],[\"end\",[]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1132\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1133\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1127\"}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1134\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1135\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1100\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1167\",\"attributes\":{\"renderers\":[{\"id\":\"p1137\"}],\"tooltips\":null}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1168\",\"attributes\":{\"renderers\":[{\"id\":\"p1119\"}],\"tooltips\":[[\"name\",\"@species\"],[\"type\",\"@type\"]],\"attachment\":\"right\"}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1169\",\"attributes\":{\"renderers\":[{\"id\":\"p1101\"}],\"tooltips\":[[\"reaction\",\"@species\"],[\"type\",\"@type\"],[\"k_f\",\"@k\"],[\"k_r\",\"@k_r\"]],\"attachment\":\"right\"}},{\"type\":\"object\",\"name\":\"TapTool\",\"id\":\"p1170\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxSelectTool\",\"id\":\"p1171\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1172\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"editable\":true,\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1178\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1177\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1179\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1180\",\"attributes\":{\"renderers\":\"auto\"}}]}}}}]}};\n const render_items = [{\"docid\":\"1ebc863d-3efd-4964-90d4-b8563427b048\",\"roots\":{\"p1094\":\"d6cf5c1a-b6bf-474d-9dc2-2610e410669d\"},\"root_ids\":[\"p1094\"]}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const timer = setInterval(function(root) {\n if (root.Bokeh !== undefined) {\n clearInterval(timer);\n embed_document(root);\n } else {\n attempts++;\n if (attempts > 100) {\n clearInterval(timer);\n console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n }\n }\n }, 10, root)\n }\n})(window);", "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "p1094" } }, "output_type": "display_data" } ], "source": [ "try:\n", " from bokeh.models import (Plot , Range1d)\n", " import bokeh.plotting\n", " import bokeh.io\n", " bokeh.io.output_notebook() #this makes the graph appear in line with the notebook\n", "\n", " #this demonstrates the \"circle\" layout. reactions are in the middle with species on the outside.\n", " #also, the pretty_print text display style\n", "\n", " colordict = {\n", " \"G1\":\"red\", #will only effect the species dna_G1 and rna_G1\n", " \"protein_GFP\": \"lightgreen\", #will only effect the species protein_GFP\n", " \"protein\": \"blue\", #All protein species, protein_Ribo, protein_RNAase, and protein_RNAP will be blue\n", " #All other species will be grey by default. This will include all complexes.\n", " }\n", "\n", " plot = render_network_bokeh(crn1,\n", " colordict = colordict,\n", " use_pretty_print=True, #uses pretty print\n", " pp_show_rates=False, #this would put the reaction rates in the reaction name. It's already listed seperately in the tool tip\n", " pp_show_attributes=False,\n", " pp_show_material = True, #this lists the material of the species being displayed\n", " layout=\"circle\",\n", " )\n", " bokeh.io.show(plot)\n", "except ModuleNotFoundError:\n", " print('please install the plotting libraries: pip install biocrnpyler[all]')\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\ayush\\Box\\Research\\bioCRNpyler\\biocrnpyler\\core\\parameter.py:507: UserWarning: parameter file contains no unit column! Please add a column named ['unit', 'units'].\n", " warn(f\"parameter file contains no {accepted_name} column! Please add a \"\n" ] }, { "data": { "text/html": [ " \n", "
\n", " \n", " Loading BokehJS ...\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const script = document.createElement(\"script\");\n node.appendChild(script);\n }\n\n /**\n * Handle when an output is cleared or removed\n */\n function handleClearOutput(event, handle) {\n function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n cell.notebook.kernel.execute(cmd_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n\n if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n // store reference to embed id on output_area\n output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n }\n if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n }\n\n function register_renderer(events, OutputArea) {\n\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n const toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[toinsert.length - 1]);\n element.append(toinsert);\n return toinsert\n }\n\n /* Handle when an output is cleared or removed */\n events.on('clear_output.CodeCell', handleClearOutput);\n events.on('delete.Cell', handleClearOutput);\n\n /* Handle when a new output is added */\n events.on('output_added.OutputArea', handleAddOutput);\n\n /**\n * Register the mime type and append_mime function with output_area\n */\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n /* Is output safe? */\n safe: true,\n /* Index of renderer in `output_area.display_order` */\n index: 0\n });\n }\n\n // register the mime type if in Jupyter Notebook environment and previously unregistered\n if (root.Jupyter !== undefined) {\n const events = require('base/js/events');\n const OutputArea = require('notebook/js/outputarea').OutputArea;\n\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n }\n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const NB_LOAD_WARNING = {'data': {'text/html':\n \"
\\n\"+\n \"

\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"

\\n\"+\n \"
    \\n\"+\n \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n \"
  • use INLINE resources instead, as so:
  • \\n\"+\n \"
\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded(error = null) {\n const el = document.getElementById(\"c4e0e578-599f-495e-a372-37a5807ccb1d\");\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.6.2.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {display_loaded(error);throw error;\n }if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(\"c4e0e578-599f-495e-a372-37a5807ccb1d\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\ayush\\Box\\Research\\bioCRNpyler\\biocrnpyler\\utils\\plotting.py:166: UserWarning: Node keys in 'layout_function' don't match node keys in the graph. These nodes may not be displayed correctly.\n", " reaction_renderer = from_networkx(DGreactions, positions, center=(0, 0))\n", "C:\\Users\\ayush\\Box\\Research\\bioCRNpyler\\biocrnpyler\\utils\\plotting.py:167: UserWarning: Node keys in 'layout_function' don't match node keys in the graph. These nodes may not be displayed correctly.\n", " species_renderer = from_networkx(DGspecies, positions, center=(0, 0))\n" ] }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"e15e03cc-ec4c-48c0-ad41-a7ffec998e54\":{\"version\":\"3.6.2\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Plot\",\"id\":\"p1263\",\"attributes\":{\"width\":500,\"height\":500,\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1328\",\"attributes\":{\"start\":-65.09999972229654,\"end\":65.09999999322675}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1329\",\"attributes\":{\"start\":-65.09999945587586,\"end\":65.10000025964743}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1266\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1267\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1268\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1306\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1323\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAASUBBE2laWPiaPg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qsgLTcH8R0CaVjSMWiwsQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SC4uxAUIRUAZiIOzMwg7QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dmdk1BtfQEBPMIMgzORCQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RB9UIlDFNEBEbFYGpb1GQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NBHMcYV2HEBXGD9y275IQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l4Wd+4R2HMBXGD9y275IQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XXzI60/FNMBDbFYfpb1GQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A5YeuRtfQMBOMIM5zORCQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1FzowQUIRcAZiIOzMwg7QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NvfFSsH8R8CYVjS+WiwsQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iy66/f//SMDRF4T386XQvg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NvfFSsH8R8BB/jtxWiwswA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0Vzo8wUIRcDvWwd0Mwg7wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ApYe0htfQMA5GsUZzORCwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WnzINlDFNMAuVpj/pL1GwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"e4WdU4d2HMBAAoFr275IwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GRHMyYd2HEBAAoFr275IwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Qx9UO1DFNEAuVpj/pL1GwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dmdk1BtfQEA5GsUZzORCwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SS4uqwUIRUDoWwcKNAg7wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q8gLNMH8R0Az/judWywswA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAQUAxDMP///+DPg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lF6CUPe4QEBxHsFZA6IkQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"14gSZhnrPECb6UMfWbczQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PSko9XfSNUDKmizWNV07QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[26,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2WSHC+mSKUB5Wg5+UEpAQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[27,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SpAVtKfsBEDY0IoPeXNBQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[28,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HWT2lSYnH8D8AAxRrQ9BQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[29,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AABgIgCAMcC8nyNnlk8+QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[30,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IiRHHSWoOcDAcjfmWM43QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[31,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4jo1Tq6IP8AqcKOzMl8uQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[32,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1e2VRfZNQcCbaMBQrd0UQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[33,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1e2VRfZNQcCdaMCwrN0UwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[34,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4jo1Tq6IP8AqcKNjMl8uwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[35,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IiRH+iSoOcDBcjcEWc43wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[36,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQDgyv9/McC8nyOFlk8+wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[37,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G2T2IScnH8D8AIxOrQ9BwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[38,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QJAV/KrsBEDZ0AoNeXNBwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[39,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2WSHLumSKUB5Wo57UEpAwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[40,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PikojHfSNUDKmiwXNl07wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[41,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"14gSiRnrPECd6UPUWLczwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[42,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lF6CUPe4QEBuHsG4A6IkwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1311\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1308\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1309\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1310\"},\"data\":{\"type\":\"map\",\"entries\":[[\"species\",[\"nothing\",\"protein[RNAP in default.]\",\"protein[Ribo in default.]\",\"protein[RNAase in default.]\",\"dna[mydna in default.]\",\"rna[mydna in default.]\",\"complex[dna[mydna]:protein[RNAP] in default.]\",\"protein[laci in default.]\",\"complex[dna[mydna]:2x_protein[laci] in default.]\",\"complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP] in default.]\",\"protein[GFP in default.]\",\"complex[protein[Ribo]:rna[mydna] in default.]\",\"dna[part[ptet-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"protein[tetR in default.]\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetR]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetR]]:protein[RNAP]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[complex[part[utr1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"complex[protein[RNAase]:rna[mydna] in default.]\",\"complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase] in default.]\",\"complex[protein[RNAase]:rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward]] in default.]\",\"dna[mydna]+protein[RNAP] <--> complex[dna[mydna]:protein[RNAP]]\",\"complex[dna[mydna]:protein[RNAP]] --> dna[mydna]+rna[mydna]+protein[RNAP]\",\"2protein[laci]+dna[mydna] <--> complex[dna[mydna]:2x_protein[laci]]\",\"complex[dna[mydna]:2x_protein[laci]]+protein[RNAP] <--> complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP]]\",\"complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP]] --> complex[dna[mydna]:2x_protein[laci]]+rna[mydna]+protein[RNAP]\",\"rna[mydna]+protein[Ribo] <--> complex[protein[Ribo]:rna[mydna]]\",\"complex[protein[Ribo]:rna[mydna]] --> rna[mydna]+protein[GFP]+protein[Ribo]\",\"dna[part[ptet-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]]\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]] --> dna[part[ptet-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\",\"2protein[tetR]+dna[part[ptet-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[complex[part[ptet]:2x_protein[tetR]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]]\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetR]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[complex[complex[part[ptet]:2x_protein[tetR]]:protein[RNAP]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]]\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetR]]:protein[RNAP]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[complex[part[ptet]:2x_protein[tetR]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\",\"rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+protein[Ribo] <--> ordered_polymer[complex[part[utr1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]]\",\"ordered_polymer[complex[part[utr1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]] --> rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+protein[GFP]+protein[Ribo]\",\"rna[mydna]+protein[RNAase] <--> complex[protein[RNAase]:rna[mydna]]\",\"complex[protein[RNAase]:rna[mydna]] --> protein[RNAase]\",\"complex[protein[Ribo]:rna[mydna]]+protein[RNAase] <--> complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase]]\",\"complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase]] --> protein[Ribo]+protein[RNAase]\",\"rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAase] <--> complex[protein[RNAase]:rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward]]]\",\"complex[protein[RNAase]:rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward]]] --> protein[RNAase]\",\"rna[mydna] --> \"]],[\"k_r\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"10.0\",\"None\",\"10.0\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"None\",\"None\"]],[\"image\",[\"iVBORw0KGgoAAAANSUhEUgAAADcAAABACAYAAAC+/O8/AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAZiS0dEAP8A/wD/oL2nkwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOS0wNi0yOVQxMjo0Mjo1MyswODowMLVKQ5EAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTYtMDQtMjNUMDA6NDA6MjErMDg6MDD8dsOAAAAAVHRFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2RiL3N2Z19pbmZvL3N2Zy85My8xNy85MzE3YzE3MDc3MWRkYjhkMjA1ZGI0ZDQyMDBkZTA5MS5zdmcgfPYlAAAJH0lEQVRoQ92bV2gVzxfHJ5ZEY6zR2LEm1mhiLCSiokLsqGB50DwIPojlxUIUjQjBrsResSIW7BVEUESCsUWwEhuxxxZ7L/Ob7+TsvXd3z957k7v5Q/4fOGZ298yce3Z3zs6cGcOkQvwfMHHiRBETEyPmzZtHZxRwrqyzZcsWPCAtffv2lc+ePdPny7xzFy5ckFFRUR7nIG3btpUfPnyQZfq1fPXqlWjatKn48eMHnfGSmJgoyqxzX79+1X3s27dvdMaMenKl49z79+/Fw4cPxa9fv8T9+/dFQUGBNvbz509RqVIlUb16dVG/fn0RFxcnKlSoIGJjY/W54pCcnCxycnLoyEvlypXFkSNHRGpqqnpBXWT37t1yzpw5ulOjH4SFhXn6ASe4XrVqVdmvXz+ZkZEhDx48SC35Z/bs2Wx7EFwzCNm5wsJCuXLlStmhQwcZHh7OGgxW1F2X8fHxctu2bVI9dbJgZtWqVWxdCG6qLyV2TnViuWPHDqleM9ZQqBIdHS2PHz8u//79SxalPHDgAKsLUYGFtLyUyLkTJ07oO8wZcVu6d+8ur127Jm/fvs1eh1SrVk3m5+fTr/NSbOfWrFnDGnASFTB0v0IfhKAcGRkZsD/6Cuo1btyYvYZXedeuXfTrzAQdLRHpVGcVy5cvpzPONGrUSHTq1EkkJCSIlJQUUatWLfHv3z99TTmFGyqePHkibty4oeXKlSvi5cuX+npxWbRokUhPT6cjC3AuEOpbIgcNGmS7a1Zp37693Ldvn3z+/LlUzlBt/0BPOSr37Nkj27Rpw7brJDNmzKBWeAI69/v3bzlgwAC2cUMw3EHnd4PDhw/r9jg7vpKWlkY1nAno3OTJk9nGDcH3qTRo2bIla8+QadOmkaYzfp3buHEj2zBEjTDkzp07SdNdEB2tg2FOtm7dSjV4HJ07e/asDrFco4h2Dx48IE13UYFFNmnShLVrlTp16kgVjKimHdY5FRn1kIhrsGLFiqTlPggsLVq0YO06yYgRI6i2HdY5pyEOvk25ubmk5S4Y8QwePJi1C0FkVINr9tqGDRuoFTM25969e+fYmTGGLC2mTJnC2oTAaaC+aex1jJa+f/+udXyxObd582a2gWHDhsk/f/6QlrusW7eOtQnp3bu3/PTpk9Z7+/at7NatG6uHVIMVm3MYHlkr4nU4f/48abgLPvpWe4Z07txZO+QLxrUIaFZdDM+smJxDCLZWgowaNYo03CU7O1vWrFmTtYmb7BSRBw4cyNYxEkMGJucQebhKd+7cIQ33wA/3N7NQs2nStIObwtUZO3YsaRRhco4Lw7169aKr7tK1a1ebLUOWLl1KWs7ExcXZ6uGcLx7nTp06JatUqWKrgAmp2zi9VpBghlVg2bJltrpq9iEvX75MGj7OOeUl1JSENNwBP56zAxk/fjxpBSYnJ4dtY+7cuaTh49ykSZNsipjCuMmmTZtkuXLlbHYgycnJsqCggDQD8/HjR9mwYUNbO1OnTiUNKcupEzoH+PTpUxRNREdHUyl0rl69KtQowzNp9QXpvUOHDom6devSmcCoca9o0KABHXlREVOoaZoua+fUR1Jnb62oeRWVQqdLly5C3W06MnPp0iVRr149OgoeNXCmkpfCwkLx5csXXdbOIYmqhl36hC/FuZP+QGrBCTxRpCRKQqtWrajkBc7hTQTaOWSGuXw7ssOhoIZrYujQoXRkJzMzUyQlJdFR8VEfeip5wWsPu0A7p/qeFivly5enUsnAWtmxY8foyMzo0aPFzJkz6cg98JaooKXL+t/w8HARERGhT/hivLslAa/b/Pnz6cgMAsjevXv131DgFkHgh5pz6rJ2rkaNGmxkRKApCVigQADhwJ01olmo5OXlUckL/IiKitJl7RxWWLhodevWLSoFD0IxVmA4YLgkbTrx5s0bKnnBKo/pycFTJFKtcJX9AceGDx9OR2bQf7Oyslz7vCAiYmnMivqwewJhUc9TqKkHlbyo2YBQo3c6CgwCBPoaR0ZGhkhLS6Oj0Ll7967Iz8+nIy+mdT49TlFgbYxbsVEjB9LwD4Y91rqGjBw5krTcY+3atTY7Knbo6ZCBxznQrFkzWwWM4AOxYMECWz1DSmvKlJCQYLMVGxtLV4swOde/f39bBQhSbk74WzNTEVM+fvyYNN0DuUrOnvp2kkYRJudOnz7NVnLKy9+8edNx8TEmJkZev36dNN0FySrOpuqHpFGEyTnAVapdu7Yts4vMcGJiIqsPCbavFhc8AC7VjpVYKzbn1q9fb6sIGTNmDGkUzaX69OnD6kGw8F8aIHHrtOKElKQVm3N4Ik6rmEbKwSnVDklPT9c6pQFyK5xNJJGx8cCKzTmwcOFCthGsm/kL+ejQvgv0bnLmzBnWJmTFihWkZYZ1DvumevTowTbkJAjDWFEtLTibkNTUVP26crDOAaxwYrGea9AqeC0+f/5MNd0FiWKn34FsHZ6oE47OATVlYRv1FayRuZ0hM8DiIqIgZxeCnRX+8OsccPqwG5KSkkKa7oJtVpw9Q8aNG0eazgR0LphdDEjLufX08JohpcjZMQQbb5z6mS9+nZs+fTrbuJMgCOHjDcPBRk1s1UAY379/v17V4dr1FYxVEfCCwXGTzeLFi0uc4+jYsaNo3bq16Nmzp4iPj9fzK5jBnE45rWfjmI/l5uaKixcv6o029+7do9rOTJgwQSxZsoRNDLHAOSsYYWDbES5bJZhdBr6CsSeWo7B5AMtVKEMiIiJYfSdZvXo1/brgsTmHbxUWFDgDEITmkydPsqns0hAMHI4ePUq/rnjYnMPWPs4IBNMbA7z3WCMv7hMIVvDEt2/frrdmlRSTc/7GjFlZWaRlBmNR1Tdd26KISImFfWw8CBWPc5mZmawxyKxZs0jLP5hRYEsFHA12dAO9pKQkvYSGVSA30dHy3LlzYsiQIZ4cuy/YUpidnU1HwYHEDTJTyJ4hCr548UKovqwjJdJuyLRhhQYbt5HuwzGXfQuVMMzNnHaGR0ZGitevXws1hqMzoaHuo99FEbcpp772VDSDb9OjR49ccwz8Lx3TYNjUvHlzUz/Atwz/jaSsowNKXl6ebNeuncc5bspeFjENv5AKx5qBinp0piwjxH8G5Zz6mESqhwAAAABJRU5ErkJggg==\",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]],[\"k\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"100.0\",\"0.05\",\"100.0\",\"100.0\",\"0.05\",\"100.0\",\"0.05\",\"100.0\",\"0.05\",\"100.0\",\"100.0\",\"0.05\",\"100.0\",\"0.05\",\"100.0\",\"0.001\",\"100.0\",\"0.001\",\"100.0\",\"0.001\",\"0.1\"]],[\"color\",[null,\"blue\",\"blue\",\"blue\",\"grey\",\"grey\",\"grey\",\"blue\",\"grey\",\"grey\",\"green\",\"grey\",\"grey\",\"grey\",\"grey\",\"blue\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\",\"cornflowerblue\",\"orange\",\"cornflowerblue\",\"cornflowerblue\",\"orange\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"orange\",\"cornflowerblue\",\"cornflowerblue\",\"orange\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\"]],[\"type\",[\"nothing\",\"protein\",\"protein\",\"protein\",\"dna\",\"rna\",\"complex\",\"protein\",\"complex\",\"complex\",\"protein\",\"complex\",\"dna\",\"rna\",\"ordered_polymer\",\"protein\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"complex\",\"complex\",\"complex\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"]],[\"index\",[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1312\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1313\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1324\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":12},\"line_alpha\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"field\",\"field\":\"color\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1318\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1315\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1316\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1317\"},\"data\":{\"type\":\"map\",\"entries\":[[\"color\",[\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"gray\",\"cornflowerblue\",\"orange\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"orange\",\"cornflowerblue\",\"gray\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"orange\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"orange\",\"cornflowerblue\",\"gray\",\"cornflowerblue\",\"gray\",\"cornflowerblue\",\"gray\",\"cornflowerblue\",\"gray\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"orange\",\"orange\",\"orange\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"orange\",\"orange\",\"orange\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"gray\",\"gray\",\"gray\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"orange\",\"orange\",\"orange\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"orange\",\"orange\",\"orange\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"gray\",\"gray\",\"gray\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"gray\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"gray\",\"gray\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"gray\",\"gray\"]],[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[1,1,1,1,2,2,3,3,3,4,4,5,5,5,6,6,7,8,8,9,9,11,11,11,12,12,13,13,14,14,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,22,23,23,23,24,24,24,25,25,25,26,26,26,27,27,27,28,28,28,29,29,29,30,30,30,31,31,31,32,32,32,33,33,33,34,34,34,35,35,35,36,36,36,37,38,38,38,39,39,40,40,40,41,42]],[\"end\",[22,25,29,32,27,34,36,38,40,22,24,27,36,42,22,23,24,24,25,25,26,27,28,38,29,31,34,40,29,30,31,31,32,32,33,34,35,36,37,38,39,40,41,4,1,6,4,5,1,7,4,8,8,1,9,8,5,1,5,2,11,5,10,2,12,1,14,12,13,1,15,12,16,16,1,17,16,13,1,13,2,18,13,10,2,5,3,19,3,11,3,20,2,3,13,3,21,3,0]],[\"xs\",[[47.9746490771807,37.37117731576247,36.09471637833384,35.0,39.772425885459576,37.37117731576247],[47.9746490771807,24.942974279120698,26.81490457136133,21.82214290838714,24.551436239649156,24.942974279120698],[47.9746490771807,-14.102747669704085,-12.695689018444973,-17.500002048909664,-13.89829052077446,-14.102747669704085],[47.9746490771807,-31.129093910964485,-30.570698425133855,-34.609078119475875,-30.036730015704904,-31.129093910964485],[42.06267597441598,6.047909697668767,7.351127874530666,2.6155542439537713,6.372857806906161,6.047909697668767],[42.06267597441598,-28.497955446973467,-29.0218517023542,-31.533909690852745,-26.533929108132345,-28.497955446973467],[32.74303679373308,-15.422050595266843,-16.940923226030378,-17.49999683350325,-12.917486926658865,-15.422050595266843],[32.74303679373308,3.9556531030699116,1.964003637478918,2.6155605024414683,6.582986611883408,3.9556531030699116],[32.74303679373308,22.400744533947766,20.072376859095872,21.82213664989944,25.003579659033893,22.400744533947766],[20.770753999269132,33.95495053423266,31.321129417276616,35.0,36.093043766820884,33.95495053423266],[20.770753999269132,27.86308202232967,25.229133009930035,28.918356303715736,29.99645292424229,27.86308202232967],[7.115743425445817,3.6472176948538273,1.502979220588448,2.6155542439537713,6.28083428627729,3.6472176948538273],[7.115743425445817,-16.4683500939588,-18.61259621383506,-17.49999683350325,-13.834733784094635,-16.4683500939588],[7.115743425445817,32.03483404265358,29.41227075079826,33.44504743924804,33.98845090996085,32.03483404265358],[-7.1157416643995,32.73171971645581,30.289800442629428,35.0,34.09766141893446,32.73171971645581],[-7.1157416643995,30.92753001139616,28.59365432635915,33.44504743924804,32.0672004178804,30.92753001139616],[-20.770750748106696,25.811232713150897,23.923471085939667,28.918356303715736,26.225104486843037,25.811232713150897],[-32.74303354257065,25.55962865515021,24.05990002133878,28.918356303715736,25.466116963090066,25.55962865515021],[-32.74303354257065,18.384305977362793,17.099839161195813,21.82214290838714,18.038006323191567,18.384305977362793],[-42.06267570348578,18.322190188343942,17.505068837754173,21.82214290838714,17.479079928729096,18.322190188343942],[-42.06267570348578,9.304706032479956,8.730407977183848,12.786934242513256,8.227180245946515,9.304706032479956],[-49.99999972906979,-0.30108878194207245,0.3890967620332315,2.6155542439537713,-2.3748081432585897,-0.30108878194207245],[-49.99999972906979,-10.510133098707167,-9.584077819731904,-7.788233130610959,-12.727344209865354,-10.510133098707167],[-49.99999972906979,-0.30108283978436434,-2.374801935504305,2.6155605024414683,0.38910228854060813,-0.30108283978436434],[-47.9746488062505,-19.48070542221545,-17.889328412096827,-17.500002048909664,-22.011645510420628,-19.48070542221545],[-47.9746488062505,-33.24783780215917,-31.474609538970572,-31.533909690852745,-35.834082084596766,-33.24783780215917],[-42.06268166395024,-33.85904766130617,-32.54191260269862,-31.533909690852745,-36.27913120676817,-33.85904766130617],[-42.06268166395024,18.32218393203748,17.479073373199576,21.82213664989944,17.50506288170545,18.32218393203748],[-32.74303652280288,-18.264518244156132,-16.006215785215034,-17.500002048909664,-20.885475303141625,-18.264518244156132],[-32.74303652280288,-26.05684610030917,-23.668107462715668,-25.65681632029385,-28.635342182910797,-26.05684610030917],[-20.770755218455044,-30.92251462682064,-28.31594323160083,-31.533909690852745,-33.23906570096118,-30.92251462682064],[-7.115750605096191,-30.29768895206195,-27.665619164017055,-31.533909690852745,-32.34334717632274,-30.29768895206195],[-7.115750605096191,-33.037451953555376,-30.430910893567397,-34.609078119475875,-34.89847910270009,-33.037451953555376],[7.11575236614251,-32.486546815203944,-29.995298782590936,-34.609078119475875,-33.970954513997356,-32.486546815203944],[7.11575236614251,-32.208635710885396,-29.819921551601805,-34.609078119475875,-33.458680098318915,-32.208635710885396],[20.770755489385248,-28.5052697189663,-26.533914574790835,-31.533909690852745,-29.03996436528423,-28.5052697189663],[20.770755489385248,-22.48541811374633,-20.675640700250003,-25.656814234131282,-22.790817465964615,-22.48541811374633],[32.74303679373308,-14.038116816517633,-12.849061767731488,-17.49999683350325,-13.585000357665727,-14.038116816517633],[32.74303679373308,-4.302456957026746,-3.2505614458482794,-7.788235216773525,-3.7008446308409937,-4.302456957026746],[42.06267299418375,6.047916016450936,6.372864355855302,2.6155605024414683,7.351133991747044,6.047916016450936],[42.06267299418375,16.225718905538454,16.575796905380162,12.78693528559454,17.506856445778183,16.225718905538454],[47.97464609694847,24.942968306126758,24.55143073603573,21.82213664989944,26.814898264413216,24.942968306126758],[47.97464609694847,32.27495406723363,32.362784694075266,28.918358389878303,33.779352448032036,32.27495406723363],[35.0,21.815803465036474,24.449624581992516,20.770753999269132,19.677710232448245,21.815803465036474],[35.0,45.60347176141823,46.87993269884686,47.9746490771807,43.202223191721124,45.60347176141823],[35.0,-4.847461380855307,-2.4055421070289276,-7.1157416643995,-6.213403083333957,-4.847461380855307],[33.44504743924804,21.957501616218057,24.590875598188806,20.770753999269132,19.88707121223064,21.957501616218057],[33.44504743924804,9.068108678920689,11.606076174300718,7.115743425445817,7.4562618393774445,9.068108678920689],[33.44504743924804,44.586844820943654,44.41124285292068,47.9746490771807,43.155413733011216,44.586844820943654],[28.918356303715736,-17.663627157541857,-15.775865530330627,-20.770750748106696,-18.077498931234,-17.663627157541857],[28.918356303715736,21.826028280655198,24.45997729305483,20.770753999269132,19.692657378742577,21.826028280655198],[28.918356303715736,-29.384305894005124,-27.884577260193694,-32.74303354257065,-29.29079420194498,-29.384305894005124],[21.82214290838714,-29.305196611546304,-28.020729795379324,-32.74303354257065,-28.958896957375078,-29.305196611546304],[21.82214290838714,44.853817706447145,42.98188741420651,47.9746490771807,45.24535574591868,44.853817706447145],[21.82214290838714,-38.56272298344258,-37.74560163285281,-42.06267570348578,-37.71961272382774,-38.56272298344258],[12.786934242513256,-29.265699148366622,-28.1568942725612,-32.74303354257065,-28.725001604482785,-29.265699148366622],[12.786934242513256,8.228607119651091,10.862814618989539,7.115743425445817,6.122295746562565,8.228607119651091],[12.786934242513256,44.87649606718334,42.97858825650236,47.9746490771807,45.30476929366207,44.87649606718334],[2.6155542439537713,6.084079974545762,8.228318448811141,7.115743425445817,3.4504633831222984,6.084079974545762],[2.6155542439537713,38.630320520700984,37.32710234383909,42.06267597441598,38.305372411463594,38.630320520700984],[2.6155542439537713,-47.08335670317395,-47.77354224714925,-49.99999972906979,-45.00963734185743,-47.08335670317395],[-7.788233130610959,4.67914062901033,5.8959162550261395,7.115743425445817,2.3065422511645375,4.67914062901033],[-7.788233130610959,-44.842367309166015,-45.21493389358237,-47.9746488062505,-42.983977009549726,-44.842367309166015],[-7.788233130610959,38.597550548728776,37.42365595923558,42.06267597441598,38.1277341440407,38.597550548728776],[-17.500002048909664,-45.99394543294471,-47.58532244306334,-47.9746488062505,-43.463005344739535,-45.99394543294471],[-17.500002048909664,44.57739469797512,43.17033604671601,47.9746490771807,44.372937549045496,44.57739469797512],[-17.500002048909664,-31.978520327556414,-34.23682278649751,-32.74303652280288,-29.35756326857092,-31.978520327556414],[-25.65681632029385,-46.19842152068179,-47.93127639393411,-47.9746488062505,-43.62299849800238,-46.19842152068179],[-25.65681632029385,-40.98778709824753,-43.11202737566738,-42.06268166395024,-38.353661665694844,-40.98778709824753],[-25.65681632029385,44.504748687183444,43.354596536333,47.9746490771807,44.00892479991653,44.504748687183444],[-31.533909690852745,-21.382150282487153,-23.98872167770696,-20.770755218455044,-19.065599208346608,-21.382150282487153],[-31.533909690852745,-46.26072069494408,-48.03394895813267,-47.9746488062505,-43.67447641250648,-46.26072069494408],[-31.533909690852745,-8.351971343886987,-10.984041131931882,-7.115750605096191,-6.3063131196262,-8.351971343886987],[-34.609078119475875,-8.687376771016693,-11.29391783100467,-7.115750605096191,-6.826349621871977,-8.687376771016693],[-34.609078119475875,44.49466486866931,43.93626938283868,47.9746490771807,43.40230097340973,44.49466486866931],[-34.609078119475875,4.993221061870578,2.501973029257573,7.11575236614251,6.477628760663988,4.993221061870578],[-34.609078119475875,-8.962128824442955,-11.523881945121236,-7.115750605096191,-7.276220530638503,-8.962128824442955],[-34.609078119475875,-40.931081402176545,-43.028418458263246,-42.06268166395024,-38.29696037356541,-40.931081402176545],[-34.609078119475875,44.56651167409383,44.32718504783246,47.9746490771807,43.189160047497076,44.56651167409383],[-31.533909690852745,-39.73754369349681,-41.05467875210436,-42.06268166395024,-37.31746014803481,-39.73754369349681],[-31.533909690852745,39.02672173053671,39.55061798591744,42.06267597441598,37.062695391695584,39.02672173053671],[-31.533909690852745,17.742115517498803,15.770760373323338,20.770755489385248,18.276810163816734,17.742115517498803],[-25.656814234131282,-38.628445795185,-38.29627057772732,-42.06268166395024,-37.33156273606338,-38.628445795185],[-25.656814234131282,-46.1984215394753,-43.62299851334696,-47.9746488062505,-47.931276425091404,-46.1984215394753],[-25.656814234131282,39.26363784200369,40.10067998936731,42.06267597441598,37.09884873423494,39.26363784200369],[-17.49999683350325,6.084096685901368,8.22834280577763,7.115743425445817,3.450480376037201,6.084096685901368],[-17.49999683350325,30.665090555496676,32.18396318626021,32.74303679373308,28.160526886888697,30.665090555496676],[-17.49999683350325,29.281156776747466,28.09210172796132,32.74303679373308,28.82804031789556,29.281156776747466],[-7.788235216773525,31.02448444399893,32.794757516053465,32.74303679373308,28.439001806832078,31.02448444399893],[2.6155605024414683,-47.08335638684396,-45.00963729112402,-49.99999972906979,-47.77354151516893,-47.08335638684396],[2.6155605024414683,31.402944193104638,33.394593658695634,32.74303679373308,28.77561068429114,31.402944193104638],[2.6155605024414683,38.630317480174284,38.30536914076991,42.06267299418375,37.32709950487817,38.630317480174284],[12.78693528559454,40.51983725685953,42.39790787151941,42.06267597441598,37.90990829632372,40.51983725685953],[12.78693528559454,31.788109045758365,33.9667711365544,32.74303679373308,29.156469055126706,31.788109045758365],[21.82213664989944,-38.56272894608828,-37.71961838725037,-42.06268166395024,-37.745607895756244,-38.56272894608828],[21.82213664989944,32.16442890968476,34.49279658453665,32.74303679373308,29.56159378459863,32.16442890968476],[21.82213664989944,44.85381444072115,45.245352010812184,47.97464609694847,42.981884482434694,44.85381444072115],[28.918358389878303,32.510758388653045,34.95015528459278,32.74303679373308,29.96117830415954,32.510758388653045],[33.44504743924804,47.02955617004889,47.64722232791979,50.0,45.00283533707334,47.02955617004889]]],[\"ys\",[[14.086628323925925,2.5743968039996266,4.878688092609526,1.4901161183274104e-07,1.4912919272345662,2.5743968039996266],[14.086628323925925,25.7796748994011,27.633046920484983,27.364102731599623,23.174716390865616,25.7796748994011],[14.086628323925925,29.469067664301495,31.696015535146596,30.310888715932137,26.84279499342434,29.469067664301495],[14.086628323925925,5.590259345019769,8.164614671882909,5.216481458419504,3.1932086597237817,5.590259345019769],[27.032038898098197,34.217342932396456,36.50660771634815,34.90213197973361,31.603242782469586,34.217342932396456],[27.032038898098197,-13.444385498227883,-10.862788399309718,-15.185931314183183,-15.199865890565826,-13.444385498227883],[37.78747946172427,-27.494485094511422,-25.342245145281293,-30.31089050407148,-28.310739771333303,-27.494485094511422],[37.78747946172427,-31.66884359962725,-29.944766085779406,-34.902131681710394,-31.859184086677185,-31.66884359962725],[37.78747946172427,-23.91226464594492,-22.680268364193452,-27.364106605901533,-23.506851055691058,-23.91226464594492],[45.48159865589017,3.3403401936926014,3.386135296280917,1.4901161183274104e-07,4.879063104519975,3.3403401936926014],[45.48159865589017,23.053327585801245,23.091056455697345,19.716203645782667,24.598591143391722,23.053327585801245],[49.49107196884932,38.2466305257158,39.77677830714893,34.90213197973361,38.30297337729171,38.2466305257158],[49.49107196884932,-26.96638680325318,-25.43624973588299,-30.31089050407148,-26.91003079237506,-26.96638680325318],[49.49107196884932,-7.1131085328790995,-7.360641657445554,-10.316434644292908,-5.346051090882036,-7.1131085328790995],[49.49107196884932,2.665502832425132,1.6775042860396154,1.4901161183274104e-07,4.9179046911027475,2.665502832425132],[49.49107196884932,12.74791407713716,11.52638423536592,10.316431813072287,15.12283770372575,12.74791407713716],[45.4816016361224,21.327347026415026,19.49010264790316,19.716203645782667,23.928850634424357,21.327347026415026],[37.7874824419565,20.700555505008566,18.534932063024538,19.716203645782667,23.333114418118146,20.700555505008566],[37.7874824419565,28.02081974499665,25.72098151900976,27.364102731599623,30.632177134758827,28.02081974499665],[27.032038898098197,27.34591049528207,24.84162944756498,27.364102731599623,29.841561904769545,27.34591049528207],[27.032038898098197,32.228322021438174,29.65746756985447,32.58058143330431,34.63207929847347,32.228322021438174],[-3.969253036700428e-06,32.96739854602934,30.425203671038012,34.90213197973361,34.59183656517493,32.96739854602934],[-3.969253036700428e-06,31.922190229464388,29.456113894914566,34.122476702557805,33.34454242076629,31.922190229464388],[-3.969253036700428e-06,-32.967398724878954,-34.591837083078836,-34.902131681710394,-30.42520373704193,-32.967398724878954],[-14.086627520154368,27.42526674710547,25.32606926253892,30.310888715932137,28.155645510118614,27.42526674710547],[-14.086627520154368,12.134302916430636,10.186285361536997,15.185933698368974,12.634754091974747,12.134302916430636],[-27.03203511409441,-17.801984337031865,-20.08327040084139,-15.185931314183183,-16.76164472876507,-17.801984337031865],[-27.03203511409441,-27.34591394994742,-29.84156525834783,-27.364106605901533,-24.841632804259316,-27.34591394994742],[-37.78747865795271,26.895407053383522,25.53924302514607,30.310888715932137,26.631409018355313,26.895407053383522],[-37.78747865795271,20.328979691279255,19.218556984012974,23.80604399541585,19.790028098320576,20.328979691279255],[-45.48159785211861,11.739747969816728,11.359095333983866,15.185933698368974,10.485673813938,11.739747969816728],[-49.491071165077756,11.911524089754996,12.017917221140161,15.185933698368974,10.25188759429617,11.911524089754996],[-49.491071165077756,2.0891837120266183,2.470044014685486,5.216481458419504,0.22486377765619725,2.0891837120266183],[-49.491071165077756,2.433522446435013,3.2895563870860096,5.216481458419504,0.2573688095546798,2.433522446435013],[-49.491071165077756,-7.7636100569356925,-6.653134693506709,-5.216479074233715,-10.082338134350248,-7.7636100569356925],[-45.48159785211861,-16.94016616752856,-15.192919830265959,-15.185931314183183,-19.51954836153231,-16.94016616752856],[-45.48159785211861,-25.28666951955542,-23.372559653026546,-23.806045783555195,-27.903125539290762,-25.28666951955542],[-37.78747865795271,-30.826047517025447,-28.47546057787582,-30.31089050407148,-33.421003459283845,-30.826047517025447],[-37.78747865795271,-34.43767463402948,-32.0225914675304,-34.12247640453458,-37.002274695740084,-34.43767463402948],[-27.0320440547911,-34.21734293658617,-31.60324281527043,-34.902131681710394,-36.50660783528395,-34.21734293658617],[-27.0320440547911,-31.928839457002475,-29.317985906614886,-32.580581135281086,-34.230533935106195,-31.928839457002475],[-14.086636460851059,-25.779679336037294,-23.174720756951658,-27.364106605901533,-27.633051694419255,-25.779679336037294],[-14.086636460851059,-18.72460174766458,-16.091847173357802,-19.716199175434316,-20.886983855293977,-18.72460174766458],[1.4901161183274104e-07,42.141258611209174,42.09546350862086,45.48159865589017,40.60253570038181,42.141258611209174],[1.4901161183274104e-07,11.512231668937911,9.207940380328012,14.086628323925925,12.59533654570297,11.512231668937911],[1.4901161183274104e-07,46.8255692854358,47.81356783182132,49.49107196884932,44.57316742675818,46.8255692854358],[10.316431813072287,42.18893558571945,42.255661432466965,45.48159865589017,40.5603076939685,42.18893558571945],[10.316431813072287,46.58620193440303,47.29177394344185,49.49107196884932,44.50268072419203,46.58620193440303],[10.316431813072287,13.207547939989302,10.579188220245618,14.086628323925925,15.418908586298539,13.207547939989302],[19.716203645782667,43.870458255490036,45.707702634001905,45.4816016361224,41.268954647480705,43.870458255490036],[19.716203645782667,42.14447471587159,42.10674584597549,45.48159865589017,40.59921115828111,42.14447471587159],[19.716203645782667,36.8031305827306,38.96875402471463,37.7874824419565,34.17057166962102,36.8031305827306],[27.364102731599623,37.13076542855947,39.43060365454636,37.7874824419565,34.519408038797295,37.13076542855947],[27.364102731599623,15.671056156124447,13.817684135040565,14.086628323925925,18.276014664659932,15.671056156124447],[27.364102731599623,27.05023113441575,29.55451218213284,27.032038898098197,24.554579724928274,27.05023113441575],[32.58058143330431,37.389807309611385,39.77929734201051,37.7874824419565,34.8116767788619,37.389807309611385],[32.58058143330431,46.172708758150435,46.180564836926045,49.49107196884932,44.590759559489946,46.172708758150435],[32.58058143330431,15.71495504993772,13.888193760195465,14.086628323925925,18.314126631620265,15.71495504993772],[34.90213197973361,46.14657342286713,44.616425641434,49.49107196884932,46.09023057129122,46.14657342286713],[34.90213197973361,27.71682794543535,25.427563161483658,27.032038898098197,30.33092809536222,27.71682794543535],[34.90213197973361,1.9347294644512385,4.476924339442564,-3.969253036700428e-06,0.31029144530564456,1.9347294644512385],[34.122476702557805,46.978510166146194,44.64215232893922,49.49107196884932,48.123013466704194,46.978510166146194],[34.122476702557805,15.64829963286489,18.256039076850996,14.086629814042041,13.781351223873164,15.64829963286489],[34.122476702557805,27.524893627461783,25.16669890261329,27.032038898098197,30.116878082166444,27.524893627461783],[30.310888715932137,-11.201005551327704,-9.10180806676115,-14.086627520154368,-11.931384314340846,-11.201005551327704],[30.310888715932137,14.928449375556566,12.701501504711466,14.086628323925925,17.554722046433717,14.928449375556566],[30.310888715932137,-34.371996995404096,-33.015832967166645,-37.78747865795271,-34.10799896037589,-34.371996995404096],[23.80604399541585,-11.070832993002156,-9.086815640308302,-14.086627520154368,-11.624283191120737,-11.070832993002156],[23.80604399541585,-23.701179117113636,-22.143387696116626,-27.03203511409441,-23.67895136140621,-23.701179117113636],[23.80604399541585,14.544658108434398,12.174792944033955,14.086628323925925,17.131793501172893,14.544658108434398],[15.185933698368974,-42.03541212356637,-41.6547594877335,-45.48159785211861,-40.781337967687634,-42.03541212356637],[15.185933698368974,-11.03499673821603,-9.086979183322391,-14.086627520154368,-11.535447913760143,-11.03499673821603],[15.185933698368974,-46.21666155646378,-46.323054687848945,-49.491071165077756,-44.55702506100495,-46.21666155646378],[5.216481458419504,-46.36377341868487,-46.74463372134374,-49.491071165077756,-44.49945348431445,-46.36377341868487],[5.216481458419504,13.71285043732566,11.138495110462522,14.086628323925925,16.109901122621647,13.71285043732566],[5.216481458419504,-46.70811215309327,-47.56414609374426,-49.491071165077756,-44.53195851621293,-46.70811215309327],[-5.216479074233715,-46.51770817493984,-47.13133005870846,-49.491071165077756,-44.49364688821308,-46.51770817493984],[-5.216479074233715,-23.720014454805927,-22.1261863145379,-27.03203511409441,-23.742758117071745,-23.720014454805927],[-5.216479074233715,13.290010823691157,10.666685904145925,14.086628323925925,15.535453622841452,13.290010823691157],[-15.185931314183183,-24.415982091245727,-22.134696027436203,-27.03203511409441,-25.45632169951252,-24.415982091245727],[-15.185931314183183,25.290493082142895,22.70889598322473,27.032038898098197,27.04597347448084,25.290493082142895],[-15.185931314183183,-43.72736299877323,-45.47460933603583,-45.48159785211861,-41.14798080476949,-43.72736299877323],[-23.806045783555195,-26.356739624929652,-23.743547995436785,-27.03203511409441,-28.649599236529983,-26.356739624929652],[-23.806045783555195,11.070835275820928,11.624285457890263,14.086629814042041,9.08681793392569,11.070835275820928],[-23.806045783555195,24.93075701950554,22.43306382155637,27.032038898098197,26.431689725002506,24.93075701950554],[-30.31089050407148,46.14656826803102,44.61643120066083,49.49107196884932,46.0902122571529,46.14656826803102],[-30.31089050407148,34.971074052164205,32.818834102934076,37.78747946172427,35.78732872898609,34.971074052164205],[-30.31089050407148,-37.27232164499874,-39.62290858414838,-37.78747865795271,-34.677365702740346,-37.27232164499874],[-34.12247640453458,34.738450465269295,32.78774697219219,37.78747946172427,35.24282175752669,34.738450465269295],[-34.902131681710394,-1.9347369260844762,-0.3102985678845969,-3.969253036700428e-06,-4.4769319139215,-1.9347369260844762],[-34.902131681710394,34.554191379641125,32.83011386579328,37.78747946172427,34.74453186669106,34.554191379641125],[-34.902131681710394,-27.71683279991532,-30.330932921231064,-27.0320440547911,-25.42756790121754,-27.71683279991532],[-32.580581135281086,23.890439195461216,22.043289598407497,27.032038898098197,24.247344909202425,23.890439195461216],[-32.580581135281086,34.42026800472488,32.93954441077735,37.78747946172427,34.30372690788409,34.42026800472488],[-27.364106605901533,-27.050227770048522,-24.55457646164811,-27.03203511409441,-29.554508915736626,-27.050227770048522],[-27.364106605901533,34.33563750176765,33.103641220016186,37.78747946172427,33.93022391151379,34.33563750176765],[-27.364106605901533,-15.6710637307153,-18.276022309800936,-14.086636460851059,-13.81769137233334,-15.6710637307153],[-19.716199175434316,34.295195575421,33.30098551128756,37.78747946172427,33.632811804259035,34.295195575421],[-10.316434644292908,-1.851070491706736,-4.411851502446555,4.018857801306286e-07,-0.16836031680211647,-1.851070491706736]]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1319\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1320\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1325\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"color\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":4},\"line_join\":{\"type\":\"value\",\"value\":\"round\"}}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1326\",\"attributes\":{\"line_color\":{\"type\":\"value\",\"value\":\"#fdae61\"},\"line_width\":{\"type\":\"value\",\"value\":5},\"line_join\":{\"type\":\"value\",\"value\":\"round\"}}},\"hover_glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1327\",\"attributes\":{\"line_color\":{\"type\":\"value\",\"value\":\"#abdda4\"},\"line_width\":{\"type\":\"value\",\"value\":5},\"line_join\":{\"type\":\"value\",\"value\":\"round\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesAndLinkedEdges\",\"id\":\"p1350\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"EdgesAndLinkedNodes\",\"id\":\"p1351\"}}},{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1270\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1287\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAASUBBE2laWPiaPg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qsgLTcH8R0CaVjSMWiwsQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SC4uxAUIRUAZiIOzMwg7QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dmdk1BtfQEBPMIMgzORCQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RB9UIlDFNEBEbFYGpb1GQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NBHMcYV2HEBXGD9y275IQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l4Wd+4R2HMBXGD9y275IQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XXzI60/FNMBDbFYfpb1GQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A5YeuRtfQMBOMIM5zORCQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1FzowQUIRcAZiIOzMwg7QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NvfFSsH8R8CYVjS+WiwsQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iy66/f//SMDRF4T386XQvg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NvfFSsH8R8BB/jtxWiwswA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0Vzo8wUIRcDvWwd0Mwg7wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ApYe0htfQMA5GsUZzORCwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WnzINlDFNMAuVpj/pL1GwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"e4WdU4d2HMBAAoFr275IwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GRHMyYd2HEBAAoFr275IwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Qx9UO1DFNEAuVpj/pL1GwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dmdk1BtfQEA5GsUZzORCwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SS4uqwUIRUDoWwcKNAg7wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q8gLNMH8R0Az/judWywswA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAQUAxDMP///+DPg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lF6CUPe4QEBxHsFZA6IkQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"14gSZhnrPECb6UMfWbczQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PSko9XfSNUDKmizWNV07QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[26,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2WSHC+mSKUB5Wg5+UEpAQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[27,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SpAVtKfsBEDY0IoPeXNBQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[28,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HWT2lSYnH8D8AAxRrQ9BQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[29,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AABgIgCAMcC8nyNnlk8+QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[30,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IiRHHSWoOcDAcjfmWM43QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[31,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4jo1Tq6IP8AqcKOzMl8uQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[32,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1e2VRfZNQcCbaMBQrd0UQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[33,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1e2VRfZNQcCdaMCwrN0UwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[34,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4jo1Tq6IP8AqcKNjMl8uwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[35,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IiRH+iSoOcDBcjcEWc43wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[36,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQDgyv9/McC8nyOFlk8+wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[37,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G2T2IScnH8D8AIxOrQ9BwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[38,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QJAV/KrsBEDZ0AoNeXNBwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[39,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2WSHLumSKUB5Wo57UEpAwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[40,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PikojHfSNUDKmiwXNl07wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[41,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"14gSiRnrPECd6UPUWLczwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[42,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lF6CUPe4QEBuHsG4A6IkwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1275\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1272\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1273\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1274\"},\"data\":{\"type\":\"map\",\"entries\":[[\"species\",[\"dna[mydna]+protein[RNAP] <--> complex[dna[mydna]:protein[RNAP]]\",\"complex[dna[mydna]:protein[RNAP]] --> dna[mydna]+rna[mydna]+protein[RNAP]\",\"2protein[laci]+dna[mydna] <--> complex[dna[mydna]:2x_protein[laci]]\",\"complex[dna[mydna]:2x_protein[laci]]+protein[RNAP] <--> complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP]]\",\"complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP]] --> complex[dna[mydna]:2x_protein[laci]]+rna[mydna]+protein[RNAP]\",\"rna[mydna]+protein[Ribo] <--> complex[protein[Ribo]:rna[mydna]]\",\"complex[protein[Ribo]:rna[mydna]] --> rna[mydna]+protein[GFP]+protein[Ribo]\",\"dna[part[ptet-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]]\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]] --> dna[part[ptet-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\",\"2protein[tetR]+dna[part[ptet-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[complex[part[ptet]:2x_protein[tetR]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]]\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetR]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[complex[complex[part[ptet]:2x_protein[tetR]]:protein[RNAP]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]]\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetR]]:protein[RNAP]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[complex[part[ptet]:2x_protein[tetR]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\",\"rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+protein[Ribo] <--> ordered_polymer[complex[part[utr1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]]\",\"ordered_polymer[complex[part[utr1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]] --> rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+protein[GFP]+protein[Ribo]\",\"rna[mydna]+protein[RNAase] <--> complex[protein[RNAase]:rna[mydna]]\",\"complex[protein[RNAase]:rna[mydna]] --> protein[RNAase]\",\"complex[protein[Ribo]:rna[mydna]]+protein[RNAase] <--> complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase]]\",\"complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase]] --> protein[Ribo]+protein[RNAase]\",\"rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAase] <--> complex[protein[RNAase]:rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward]]]\",\"complex[protein[RNAase]:rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward]]] --> protein[RNAase]\",\"rna[mydna] --> \"]],[\"color\",[\"cornflowerblue\",\"orange\",\"cornflowerblue\",\"cornflowerblue\",\"orange\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"orange\",\"cornflowerblue\",\"cornflowerblue\",\"orange\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\"]],[\"k_r\",[\"10.0\",\"None\",\"10.0\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"None\",\"10.0\",\"None\",\"None\"]],[\"k\",[\"100.0\",\"0.05\",\"100.0\",\"100.0\",\"0.05\",\"100.0\",\"0.05\",\"100.0\",\"0.05\",\"100.0\",\"100.0\",\"0.05\",\"100.0\",\"0.05\",\"100.0\",\"0.001\",\"100.0\",\"0.001\",\"100.0\",\"0.001\",\"0.1\"]],[\"type\",[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"]],[\"index\",[22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1276\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1277\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1330\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":8},\"fill_color\":{\"type\":\"field\",\"field\":\"color\"},\"marker\":{\"type\":\"value\",\"value\":\"square\"}}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1331\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":8},\"fill_color\":{\"type\":\"value\",\"value\":\"#fdae61\"},\"marker\":{\"type\":\"value\",\"value\":\"square\"}}},\"hover_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1332\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":8},\"fill_color\":{\"type\":\"value\",\"value\":\"#abdda4\"},\"marker\":{\"type\":\"value\",\"value\":\"square\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1282\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1279\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1280\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1281\"},\"data\":{\"type\":\"map\",\"entries\":[[\"start\",[]],[\"end\",[]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1283\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1284\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1278\"}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1285\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1286\"}}},{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1288\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1305\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAASUBBE2laWPiaPg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qsgLTcH8R0CaVjSMWiwsQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SC4uxAUIRUAZiIOzMwg7QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dmdk1BtfQEBPMIMgzORCQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RB9UIlDFNEBEbFYGpb1GQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NBHMcYV2HEBXGD9y275IQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l4Wd+4R2HMBXGD9y275IQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XXzI60/FNMBDbFYfpb1GQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A5YeuRtfQMBOMIM5zORCQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1FzowQUIRcAZiIOzMwg7QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NvfFSsH8R8CYVjS+WiwsQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iy66/f//SMDRF4T386XQvg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NvfFSsH8R8BB/jtxWiwswA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0Vzo8wUIRcDvWwd0Mwg7wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ApYe0htfQMA5GsUZzORCwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WnzINlDFNMAuVpj/pL1GwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"e4WdU4d2HMBAAoFr275IwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GRHMyYd2HEBAAoFr275IwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Qx9UO1DFNEAuVpj/pL1GwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dmdk1BtfQEA5GsUZzORCwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SS4uqwUIRUDoWwcKNAg7wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q8gLNMH8R0Az/judWywswA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAQUAxDMP///+DPg==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lF6CUPe4QEBxHsFZA6IkQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"14gSZhnrPECb6UMfWbczQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PSko9XfSNUDKmizWNV07QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[26,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2WSHC+mSKUB5Wg5+UEpAQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[27,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SpAVtKfsBEDY0IoPeXNBQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[28,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HWT2lSYnH8D8AAxRrQ9BQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[29,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AABgIgCAMcC8nyNnlk8+QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[30,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IiRHHSWoOcDAcjfmWM43QA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[31,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4jo1Tq6IP8AqcKOzMl8uQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[32,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1e2VRfZNQcCbaMBQrd0UQA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[33,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1e2VRfZNQcCdaMCwrN0UwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[34,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4jo1Tq6IP8AqcKNjMl8uwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[35,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IiRH+iSoOcDBcjcEWc43wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[36,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQDgyv9/McC8nyOFlk8+wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[37,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G2T2IScnH8D8AIxOrQ9BwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[38,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QJAV/KrsBEDZ0AoNeXNBwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[39,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2WSHLumSKUB5Wo57UEpAwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[40,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PikojHfSNUDKmiwXNl07wA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[41,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"14gSiRnrPECd6UPUWLczwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[42,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lF6CUPe4QEBuHsG4A6IkwA==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1293\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1290\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1291\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1292\"},\"data\":{\"type\":\"map\",\"entries\":[[\"color\",[null,\"blue\",\"blue\",\"blue\",\"grey\",\"grey\",\"grey\",\"blue\",\"grey\",\"grey\",\"green\",\"grey\",\"grey\",\"grey\",\"grey\",\"blue\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\"]],[\"species\",[\"nothing\",\"protein[RNAP in default.]\",\"protein[Ribo in default.]\",\"protein[RNAase in default.]\",\"dna[mydna in default.]\",\"rna[mydna in default.]\",\"complex[dna[mydna]:protein[RNAP] in default.]\",\"protein[laci in default.]\",\"complex[dna[mydna]:2x_protein[laci] in default.]\",\"complex[complex[dna[mydna]:2x_protein[laci]]:protein[RNAP] in default.]\",\"protein[GFP in default.]\",\"complex[protein[Ribo]:rna[mydna] in default.]\",\"dna[part[ptet-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"protein[tetR in default.]\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetR]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetR]]:protein[RNAP]-forward]:part[utr1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[complex[part[utr1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"complex[protein[RNAase]:rna[mydna] in default.]\",\"complex[complex[protein[Ribo]:rna[mydna]]:protein[RNAase] in default.]\",\"complex[protein[RNAase]:rna[part[utr1-forward]:part[GFP-forward]:part[t16-forward]] in default.]\"]],[\"image\",[\"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\",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]],[\"type\",[\"nothing\",\"protein\",\"protein\",\"protein\",\"dna\",\"rna\",\"complex\",\"protein\",\"complex\",\"complex\",\"protein\",\"complex\",\"dna\",\"rna\",\"ordered_polymer\",\"protein\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"complex\",\"complex\",\"complex\"]],[\"index\",[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1294\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1295\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1333\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":12},\"fill_color\":{\"type\":\"field\",\"field\":\"color\"}}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1334\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":15},\"fill_color\":{\"type\":\"value\",\"value\":\"#fdae61\"}}},\"hover_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1335\",\"attributes\":{\"size\":{\"type\":\"value\",\"value\":15},\"fill_color\":{\"type\":\"value\",\"value\":\"#abdda4\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1300\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1297\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1298\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1299\"},\"data\":{\"type\":\"map\",\"entries\":[[\"start\",[]],[\"end\",[]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1301\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1302\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1296\"}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1303\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1304\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1269\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1336\",\"attributes\":{\"renderers\":[{\"id\":\"p1306\"}],\"tooltips\":null}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1337\",\"attributes\":{\"renderers\":[{\"id\":\"p1288\"}],\"tooltips\":[[\"name\",\"@species\"],[\"type\",\"@type\"]],\"attachment\":\"right\"}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1338\",\"attributes\":{\"renderers\":[{\"id\":\"p1270\"}],\"tooltips\":[[\"reaction\",\"@species\"],[\"type\",\"@type\"],[\"k_f\",\"@k\"],[\"k_r\",\"@k_r\"]],\"attachment\":\"right\"}},{\"type\":\"object\",\"name\":\"TapTool\",\"id\":\"p1339\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxSelectTool\",\"id\":\"p1340\",\"attributes\":{\"renderers\":\"auto\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1341\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"editable\":true,\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1347\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1346\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1348\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1349\",\"attributes\":{\"renderers\":\"auto\"}}]}}}}]}};\n const render_items = [{\"docid\":\"e15e03cc-ec4c-48c0-ad41-a7ffec998e54\",\"roots\":{\"p1263\":\"fe361065-6e7a-4a86-8e84-77df98a77824\"},\"root_ids\":[\"p1263\"]}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const timer = setInterval(function(root) {\n if (root.Bokeh !== undefined) {\n clearInterval(timer);\n embed_document(root);\n } else {\n attempts++;\n if (attempts > 100) {\n clearInterval(timer);\n console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n }\n }\n }, 10, root)\n }\n})(window);", "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "p1263" } }, "output_type": "display_data" } ], "source": [ "from biocrnpyler.components import RBS, CDS, Terminator, DNA_construct\n", "from biocrnpyler.utils.plotting import render_mixture, render_network_bokeh\n", "#this is an example of how to use the new image plotting. It is designed to combine dnaplotlib and the network representation to show constructs and where proteins are bound to them.\n", "\n", "#to use this to its full potential you must make dna_constructs:\n", "txtl = TxTlExtract(\"mixture1\", parameter_file = 'default_parameters.txt')\n", "\n", "ptet = RegulatedPromoter(\"ptet\",[\"tetR\"])\n", "utr1 = RBS(\"utr1\")\n", "gfp = CDS(\"GFP\")\n", "t16 = Terminator(\"t16\")\n", "\n", "construct = DNA_construct([ptet,utr1,gfp,t16], initial_concentration=5)\n", "\n", "\n", "dna = DNAassembly(\"mydna\",promoter=RegulatedPromoter(\"plac\",[\"laci\"]),rbs=utr1,protein=\"GFP\", initial_concentration = 10)\n", "txtl.add_component(dna)\n", "txtl.add_component(construct)\n", "crn1 = txtl.compile_crn()\n", "crn1.add_reactions([Reaction.from_massaction([Species(\"mydna\",material_type=\"rna\")],[],k_forward=0.1)])\n", "try:\n", " #dnaplotlib is a cool library for plotting DNAs.\n", " #please use my fork located at https://github.com/dr3y/dnaplotlib\n", " #to install it type: pip install git+git://github.com/dr3y/dnaplotlib.git@master\n", " import dnaplotlib as dpl # type: ignore\n", " %matplotlib inline\n", " dpl_enabled = True\n", "except (ModuleNotFoundError,ImportError) as e:\n", " dpl_enabled = False\n", "\n", "try:\n", " from bokeh.models import (Plot , Range1d)\n", " import bokeh.plotting\n", " import bokeh.io\n", " bokeh.io.output_notebook() #this makes the graph appear in line with the notebook\n", "\n", " #this demonstrates the \"circle\" layout. reactions are in the middle with species on the outside.\n", " #also, the pretty_print text display style\n", "\n", " colordict = {\n", " \"G1\":\"red\", #will only effect the species dna_G1 and rna_G1\n", " \"protein_GFP\": \"green\", #will only effect the species protein_GFP\n", " \"GFP\":\"lightgreen\", #this will affect how the dnaplotlib is drawn\n", " \"protein\": \"blue\", #All protein species, protein_Ribo, protein_RNAase, and protein_RNAP will be blue\n", " \"transcription_mm\":\"green\"\n", " #All other species will be grey by default. This will include all complexes.\n", " }\n", " reactioncolordict = {\n", " \"kint\":\"yellow\", #reactions containing \"kint\" will be yellow\n", " \"kb\":\"cornflowerblue\", #reactions containing \"kb\" will be cornflowerblue\n", " \"ktx\":\"orange\" #transcription reactions will be orange\n", " #all other reactions will be grey by default\n", " }\n", " if(dpl_enabled):\n", " images =render_mixture(txtl,crn1,colordict)\n", " else:\n", " images = None\n", " plot = render_network_bokeh(crn1,\n", " colordict = colordict,\n", " reactioncolordict = reactioncolordict,\n", " use_pretty_print=True, #uses pretty print\n", " pp_show_rates=False, #this would put the reaction rates in the reaction name. It's already listed seperately in the tool tip\n", " pp_show_attributes=False,\n", " pp_show_material = True, #this lists the material of the species being displayed\n", " imagedict =images, #this is a dictionary of which images to show for each species\n", " layout=\"circle\",\n", " )\n", " bokeh.io.show(plot)\n", "except ModuleNotFoundError:\n", " print('please install the plotting libraries: pip install biocrnpyler[all]')" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# End" ] } ], "metadata": { "interpreter": { "hash": "7b4b4feff2f24a0f0a34464dbe537a36fda679851528fb8735cb41fa49dffb2d" }, "kernelspec": { "display_name": "base", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.5" }, "metadata": { "interpreter": { "hash": "7b4b4feff2f24a0f0a34464dbe537a36fda679851528fb8735cb41fa49dffb2d" } } }, "nbformat": 4, "nbformat_minor": 2 }